一、if else
1、按数打折
int main()
{
int zheKou;
int luCheng;
int danJia;
int zhongLiang;
puts("请输入路程!");
scanf("%d",&luCheng);
if(luCheng<500)
{
zheKou=0;
}
else if(luCheng>=500&&luCheng<10000)
{
zheKou=8;
}
else
{
zheKou=5;
}
printf("折扣是:%.1f\n",(float)zheKou/10);
return 0;
}
2、按条件求值
int main()
{
int x;
int y;
puts("请输入x的值:");
scanf("%d",&x);
if(x<1)
{
y=x;
}
else if(x>=1&&x<10)
{
y=2*x-1;
}
else if(x>=10)
{
y=3*x-11;
}
printf("y的值为:%d",y);
return 0;
}
二、switch case default
1、按分数划分等级
int main( )
{
int score;
puts("请输入分数");
scanf("%d",&score);
switch(score/10)
{
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
printf("成绩为E\n");
break;
case 6:
printf("成绩为D\n");
break;
case 7:
printf("成绩为C\n");
break;
case 8:
printf("成绩为B\n");
break;
case 9:
case 10:
printf("成绩为A\n");
break;
}
puts("done!");
return 0;
}
三、while do while
1、test1
int main()
{
int times;
times=10;
while(times<15)//只要条件为真就一直执行
{
puts("牛掰a");
printf("times=%d\n",times);
//times=times-1;
times++;
}
return 0;
}
2、test2
int main()
{
int data=5;
do
{
printf("this is a test\n");
data--;//先减
}
while(data!=0);//不等于零,就do,==0,就停s
return 0;
}
3、三个表达式
int main()//while的三个表达式
{
int sum=0;//变量最好初始化成0,编码习惯
int data=1;//第一个表达式,变量的初始值
while(data<=100)//第二个表达式,变量的临界值
{
//printf("data=%d",data);
sum=sum+data;
data++;//第三个表达式,条件发生变化
}
printf("0到100的和是:%d\n",sum);
return 0;
}
四、for
int main()
{
int data;
for(data=0;data<5;data++)
{
puts("3484");
}
}
int main()
{
int i;
int j;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
printf("%d ",i*j);
}
printf("\n");
}
}
五、break continue
int main()
{
int num;
int goal=0;
int money;
num=1;
for(num=1;num<=100;num++)
{
puts("请输入捐款的数目:");
scanf("%d",&money);
goal=goal+money;
if(goal>=1000)
{
puts("1000目标达成");
break;
}
}
printf("总捐款人数是%d\n",num);
printf("每个人的平均捐款数目:%.2f\n",(float)goal/num);
return 0;
}
int main()
{
int data;
data=10;
for(data=100;data<=200;data++)
{
if(data%3!=0)
{
continue;
}
printf("%d ",data);
}
return 0;
}
六、课后题
1、水仙花数
//水仙花数
int main()
{
puts("水仙花数为:");
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i%10;//个位数
b=(i/10)%10;//十位数
c=i/100;//百位数
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d\t",i);
}
}
return 0;
}
2、求最大公约数
a、暴力求解
//暴力求解
int main()
{
int x=0,y=0;
printf("请输入两个数字:");
scanf("%d%d",&x,&y);
int temp= x<y?x:y;
while(1)
{
if(x%temp==0&&y%temp==0)
{
break;
}
temp--;
}
printf("最大公约数是:%d",temp);
return 0;
}
b、更相减损法
int main()
{
int x=0,y=0;
printf("请输入两个数字:\n");
scanf("%d%d",&x,&y);
while(x!=y)
{
if(x>y){x=x-y;}
else if(x<y){y=y-x;}
}
printf("最大公约数为:%d\n",x);
return 0;
}
3、求最小公倍数
a、暴力解法
//暴力解法
int main()
{
int x=0,y=0;
printf("请输入两个数字:\n");
scanf("%d%d",&x,&y);
int temp= x>y?x:y;
while(1)
{
if(temp%x==0&&temp%y==0)
{
break;
}
temp++;
}
printf("最小公倍数是:%d",temp);
return 0;
}
b、公式法
//公式法,最小公倍数=两数的积/最大公约数
int main()
{
int x=0,y=0;
printf("请输入两个数字:\n");
scanf("%d%d",&x,&y);
int temp= x<y?x:y;
while(1)
{
if(x%temp==0&&y%temp==0)
{
break;
}
temp--;
}
printf("最大公约数是:%d\n",temp);
printf("最小公倍数是:%d",x*y/temp);
return 0;
}