switch语句
break跳出循环程序
continue继续循环
1.编程: 应用switch选择结构,输入一个形式如“操作数 运算符 操作数”的四则运算表达式(例如5+8),输出运算结果。若运算符为“/”时,除数为0时提示请重新输入。
#include<stdio.h>
int main()
{
int a,b;
char x;
printf("输入:");
scanf("%d%c%d",&a,&x,&b);
switch(x)
{
case '+':
printf("%d",a+b);break;
case '-':
printf("%d",a-b);break;
case '*':
printf("%d",a*b);break;
case '/':
if(b==0)
{
printf("error");
}
else
printf("%d",a/b);
}
return 0;
}
2.编程: 应用switch选择结构,输入百分制成绩,要求输出成绩等级“优”、“良”、“中”、“及格”、“不及格”。 其中90分以上为“优”,80分以上为“良”,70分以上为“中”,60分以上为“及格”,60 分以下为“不及格”。当输入数据大于100或小于0时,通知用户“输入数据错”。
#include<stdio.h>
int main()
{
int score,x;
printf("score:");
scanf("%d",&score);
x=score/10;
switch(x)
{
case 10:
case 9:printf("优");break;
case 8:printf("良");break;
case 7:printf("中");break;
case 6:printf("及格");break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("不及格");break;
/*与上面意义一样
case 5:printf("不及格");break;
case 4:printf("不及格");break;
case 3:printf("不及格");break;
case 2:printf("不及格");break;
case 1:printf("不及格");break;
case 0:printf("不及格");break;
*/
default:printf("输入数据错");
}
return 0;
}
3.根据键盘输入的年、月,输出该年、该月的天数。
#include<stdio.h>
int main()
{
int year,month;
printf("输入的年,月:");
scanf("%d,%d",&year,&month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 11:printf("year=%d,month=%d,days=31",year,month);break;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
{
printf("year=%d,month=2,days=28",year);
}
else printf("year=%d,month=2,days=29",year);break;
default:printf("year=%d,month=%d,days=30",year,month);
}
return 0;
}
4.编程:某百货商场进行打折促销活动,消费金额§越高,折扣(d)越大,标准如下:
消费金额 折扣
p<100 0%
100≤p<200 5%
200≤p<500 10%
500≤p<1000 15%
p≥1000 20%
编程:从键盘输入消费金额,输出折扣率和实付金额(f)。要求:用switch语句实现。
#include<stdio.h>
int main()
{
int p,d,x;
printf("输入消费金额:");
scanf("%d",&p);
x=p/100;
switch(x)
{
case 0:printf("折扣0%%,实付%d",p);break;
case 1:printf("折扣5%%,实付%.2lf",0.95*(double)p);break;
case 2:
case 3:
case 4:printf("折扣10%%,实付%.2lf",0.9*(double)p);break;
case 5:
case 6:
case 7:
case 8:
case 9:printf("折扣15%%,实付%.2lf",0.85*(double)p);break;
default:printf("折扣20%%,实付%.2lf",0.8*(double)p);break;
}
return 0;
}
5.设某公司的业务员工资的计算方法:工资=基本工资+提成。其中,提成的计算方法为:当销售额在10 000元以下时,只发基本工资1000元;当销售额在10 000元以上才可以拿提成。提成的比率为:当销售额在20 000元以下时,超出10000元的部分可按5%提成;当销售额在20 000元以上50 000元以下时,超出20000元的部分可按6%提成;当销售额在50 000元以上100 000元以下时,超出50 000元的部分可按7%提成;当销售额在100 000元以上时,超出100 000元的部分可按8%提成.输入一个业务员的销售额,计算其应发的工资。
#include<stdio.h>
int main()
{
int a,x;
printf("输入一个业务员的销售额:");
scanf("%d",&a);
x=a/10000;
switch(x)
{
case 0:printf("工资1000");break;
case 1:printf("%lf",(a-10000)*0.05+1000);break;
case 2:
case 3:
case 4:printf("%lf",(a-20000)*0.06+1000);break;
case 5:
case 6:
case 7:
case 8:
case 9:printf("%lf",(a-50000)*0.07+1000);break;
default:printf("%lf",(a-100000)*0.08+1000);
}
return 0;
}