switch语句
c语言 12
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;
}
switch语句
https://blog.883051.xyz/archives/switch-yu-ju
作者
玉溪
发布于
更新于
许可