經(jīng)典C語言程序設計100例(1)

字號:

【程序1】
    題目:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?都是多少?
    1.程序分析:可填在百位、十位、個位的數(shù)字都是1、2、3、4。組成所有的排列后再去
      掉不滿足條件的排列。
    2.程序源代碼:
    main()
    {
    int i,j,k;
    printf("\n");
    for(i=1;i<5;i++)   ?。?以下為三重循環(huán)*/
     for(j=1;j<5;j++) 
     for (k=1;k<5;k++)
     {
      if (i!=k&&i!=j&&j!=k)    /*確保i、j、k三位互不相同*/
      printf("%d,%d,%d\n",i,j,k);
     }
    }
    【程序2】
    題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高
     于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提
     成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于
     40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于
     100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發(fā)放獎金總數(shù)?
    1.程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型?!     ?BR>    2.程序源代碼:
    main()
    {
    long int i;
    int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
    scanf("%ld",&i);
    bonus1=100000*0.1;bonus2=bonus1+100000*0.75;
    bonus4=bonus2+200000*0.5;
    bonus6=bonus4+200000*0.3;
    bonus10=bonus6+400000*0.15;
     if(i<=100000)
     bonus=i*0.1;
     else if(i<=200000)
     bonus=bonus1+(i-100000)*0.075;
      else if(i<=400000)
        bonus=bonus2+(i-200000)*0.05;
       else if(i<=600000)
           bonus=bonus4+(i-400000)*0.03;
          else if(i<=1000000)
              bonus=bonus6+(i-600000)*0.015;
             else
              bonus=bonus10+(i-1000000)*0.01;
    printf("bonus=%d",bonus);
    }