C语言经典100题—1
C语言经典100题(1-10)
题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
#include "stdio.h"
#include "conio.h"
void main()
{
int i,j,k,m;
m=0;
for(i=1;i<5;i++) /*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
{
m++;
printf("%d%d%d ",i,j,k);
if(m%10 == 0)
{
putchar('\n');
}
}
}
getch();
}
题目2:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
#include "stdio.h"
void main()
{
int I=0;
double sum=0;
printf("请输入利润 I (万元):");
scanf("%d",&I);
switch(I/10)
{
case 0:sum=I*0.1;break;
case 1:sum=10*0.1+(I-10)*0.075;break;
case 2:case 3:sum=10*0.1+(I-10)*0.075+(I-20)*0.05;break;
case 4:case 5:sum=10*0.