练习一:投票表决器
/**
* 设计一个投票表决器,其功能是:
* 输入Y、y,打印agree
* 输入N、n,打印disagree
* 输入其他,打印lose
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月18日
*/
int main()
{
char c;
printf("请您投票:");
scanf("%c", &c);
switch(c)
{
case 'Y':
case 'y':
printf("agree");
break;
case 'N':
case 'n':
printf("disagree");
break;
default:
printf("lose");
}
return 0;
}
练习二:成绩等级
/**
* 给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E’。
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月18日
*/
int main()
{
int score;
printf("请输入学生的分数:");
scanf("%d", &score);
int degree = score / 10;
switch(degree)
{
case 10:
case 9:
printf("A");
break;
case 8:
printf("B");
break;
case 7:
printf("C");
break;
case 6:
printf("D");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("E");
break;
default:
printf("error");
}
return 0;
}
练习三:分段函数求值switch语句版
/**
* 从键盘输入x的值(要求为整型),根据公式1计算并输出x和y的值。要求用switch语句完成。
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月19日
*/
int main()
{
int x, z;
float y;
printf("请输入一个整型值:");
scanf("%d", &x);
z = (x < 2) + (x < 6) + (x < 10);
switch(z)
{
case 3:
y = x;
break;
case 2:
y = x * x + 1;
break;
case 1:
y = sqrt(x + 1);
break;
case 0:
y = 1 / (x + 1);
break;
default:
printf("error!");
}
printf("x=%d, y=%f", x, y);
return 0;
}
练习四:本月有几天?
/**
* 编程序,输入年份和月份,输出本月有多少天。合理选择分支语句完成设计任务。
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月19日
*/
int main()
{
int year, month, days;
printf("请输入年份和月份:");
scanf("%d %d", &year, &month);
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 2:
if(year%4==0 && year%100!=0 ||year%400==0)
{
days = 29;
}
else
{
days =28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
printf("error!");
}
printf("%d年%d月有%d天", year, month, days);
return 0;
}
练习五:个人所得税计算器switch语句版
/**
* 编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。
*(1)用switch语句完成;
*(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月19日
*/
int main()
{
double dSalary, dTax=0, dNetIncome=0;
printf("请输入您本月的收入总额(元):");
scanf("%lf", &dSalary);
// 下面求解应缴个人所得税dTax和税后收入dNetIncome
double dStartVal = dSalary - 3500;
if (dStartVal > 0)
{
int t = (dStartVal <= 1500) + (dStartVal <= 4500) + (dStartVal <= 9000) + (dStartVal <= 35000) + (dStartVal <= 55000) + (dStartVal <= 80000);
switch(t)
{
case 6:
dTax = dStartVal * 0.03;
break;
case 5:
dTax = dStartVal * 0.1 - 105;
break;
case 4:
dTax = dStartVal * 0.2 - 555;
break;
case 3:
dTax = dStartVal * 0.25 - 1005;
break;
case 2:
dTax = dStartVal * 0.3 - 2755;
break;
case 1:
dTax = dStartVal * 0.35 - 5505;
break;
case 0:
dTax = dStartVal * 0.45 - 13505;
break;
}
}
dNetIncome = dSalary - dTax;
printf("您本月应缴个人所得税 %.2lf 元,税后收入是 %.2lf 元。\n", dTax, dNetIncome);
printf("依法纳税,共享繁荣。谢谢使用!\n");
return 0;
}
练习六:定期存款利息计算器
扫描二维码关注公众号,回复:
1966218 查看本文章
/**
* 输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。要求使用switch语句,根据选择的存款种类,确定利率和存期后计算。
* 提示:利息=金额×年利率×存期(单位:年,3个月为0.25年,6个月为0.5年)。
* 例如:1000元存6个月,利息=1000×0.033×0.5=16.5元
* 利率使用2011年7月7日公布的年利率:3个月 3.10%,6个月 3.30%,一年 3.50%,二年 4.40%,三年 5.00%,五年 5.50%。
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月20日
*/
int main()
{
double dPrincipal, dInterest = 0, dTotal = 0;
printf("请输入存款金额:");
scanf("%lf", &dPrincipal);
printf("======存款期限======\n");
printf("1. 活期存款\n");
printf("2. 3个月\n");
printf("3. 6个月\n");
printf("4. 一年\n");
printf("5. 二年\n");
printf("6. 三年\n");
printf("7. 五年\n");
printf("请输入存款期限的代号:");
int type;
scanf("%d", &type);
switch(type)
{
case 1:
printf("请输入存款天数:");
float days;
scanf("%f", &days);
dInterest = dPrincipal * 0.003 * (days / 365);
break;
case 2:
dInterest = dPrincipal * 0.031 * 0.25;
break;
case 3:
dInterest = dPrincipal * 0.033 * 0.5;
break;
case 4:
dInterest = dPrincipal * 0.035 * 1;
break;
case 5:
dInterest = dPrincipal * 0.044 * 2;
break;
case 6:
dInterest = dPrincipal * 0.05 * 3;
break;
case 7:
dInterest = dPrincipal * 0.055 * 5;
break;
default:
printf("选择存款类型错误!\n");
return -1;
}
dTotal = dPrincipal + dInterest;
printf("到期利息为:%.2lf 元,本息合计共 %.2lf 元。\n", dInterest, dTotal);
printf("感谢您的使用,欢迎下次光临!\n");
return 0;
}
练习七:构造菜单
/**
* 在应用程序中,很多都将各种功能设计了“菜单”供用户选择,本项目做些体验。
*
* @Author 陈淦森
* @Version 1.0.1
* @Date 2016年2月20日
*/
int main()
{
int type;
printf("====今天晚饭吃什么?====\n");
printf("1. 山西刀削面\n");
printf("2. 兰州拉面\n");
printf("3. 西安羊肉泡馍\n");
printf("4. 烟台焖子\n");
printf("5. 西北风\n");
printf("请选择一项:");
scanf("%d", &type);
switch(type)
{
case 1:
printf("山西刀削面!西红柿肉汁两样调和都加上!\n");
break;
case 2:
printf("兰州拉面,多加点牛肉啥!拉成韭叶子的!\n");
break;
case 3:
printf("西安羊肉泡馍,吃老孙家的!\n");
break;
case 4:
printf("烟台焖子,好七!\n");
break;
case 5:
printf("喝西北风的娃伤不起……\n");
break;
default:
printf("你选错了!\n");
}
return 0;
}