任务一:【投票表决器】设计一个投票表决器,其功能是:
心得
心得
运行结果
输入Y、y,打印agree
输入N、n,打印disagree输入其他,打印lose
代码
/*
*Copyright @2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2017年10月23日
*版 本 号:v1.0
*问题描述:设计一个投票表决器,其功能是:输入Y、y,打印agree,
*输入N、n,打印disagree,输入其他,打印lose
*/
#include <stdio.h>
int main()
{
char c;
scanf("%c",&c);
switch(c)
{
case 'Y': //执行持续到break才跳出switch
case 'y':
printf("agree");
break;
case 'N':
case 'n':
printf("disagree");
break;
default:
printf("lose");
}
return 0;
}
代码
/*
*Copyright @2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2017年10月23日
*版 本 号:v1.0
*问题描述:给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’。
*90分以上为’A’,80-89分为’B’,70-79分为’C’,60-69分为’D’,60分以下为’E
*/
#include <stdio.h>
int main()
{
int score,grade;
scanf("%d",&score);
grade=(score>=0)+(score<60)+(score<70)+(score<80)+(score<90)+(score<=100);
switch (grade)
{
case 0:
case 1:
printf("data error"); //输入分数不在[0~100]内输出错误信息
break;
case 2:
printf("%c",'A'); //90分及以上输出'A'
break;
case 3:
printf("%c",'B'); //80~89输出'B'
break;
case 4:
printf("%c",'C'); //70~79输出'C'
break;
case 5:
printf("%c",'D'); //60~69输出'D'
break;
case 6:
printf("%c",'E'); //60分以下输出'E'
}
return 0;
}
心得
switch语句解决连续区间分段问题时,主要难点是完成连续向不连续的转换,可以将分段区域转化成一个一个的整数来解决问题。
任务三:【本月有几天?】输入年份和月份,输出本月有多少天
代码
/*
*Copyright @2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2017年10月23日
*版 本 号:v1.0
*问题描述:输入年份和月份,输出本月有多少天
*/
#include <stdio.h>
int main()
{
int month,year;
scanf("%d %d",&year,&month);
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("本月31天");
break;
case 4:
case 6:
case 9:
case 11:
printf("本月30天");
break;
case 2:
if(year%400==0||(year%100!=0&&year%4==0))
printf("本月29天");
else
printf("本月28天");
}
return 0;
}
心得
二月存在变数,放到最后写清晰明了,闰年判断:能整除4并且不能整除100,或者直接能整除400就是闰年。
任务四:【定期存款利息计算器】输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计。要求使用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%。
代码
/*
*Copyright @2017,CSDN学院
*All rights reserved.
*文件名称:main.c
*作 者:袁生
*完成日期:2017年10月23日
*版 本 号:v1.0
*问题描述:输入存款金额并选择存款种类,计算出利息(不计利息税)和本息合计
*/
#include <stdio.h>
int main()
{
int type,day;
float interest,principal;
printf("欢迎使用利息计算器!\n");
printf("请输入存款金额: ");
scanf("%f",&principal);
printf("======存款期限======\n");
printf("1. 活期存款\n2. 3个月\n3. 6个月\n4. 一年\n");
printf("5. 二年\n6. 三年\n7. 五年\n");
printf("请输入存款期限代号: ");
scanf("%d",&type);
switch (type)
{
case 1:
printf("请输入存款天数:");
scanf("%d",&day);
interest=principal*0.005*day/365; //活期存款年利率0.5%
break;
case 2:
interest=principal*0.031*0.25; //定期存三个月年利率3.10%
break;
case 3:
interest=principal*0.033*0.5; //定期存六个月年利率3.30%
break;
case 4:
interest=principal*0.035*1.0; //定期存一年 年利率3.50%
break;
case 5:
interest=principal*0.044*2.0; //定期存两年 年利率4.40%
break;
case 6:
interest=principal*0.050*3.0; //定期存三年 年利率5.00%
break;
case 7:
interest=principal*0.055*5.0; //定期存五年 年利率5.50%
break;
default:
printf("选择存款类型错误!\n");
printf("感谢您的使用,欢迎下次光临!\n");
return 0;
}
printf("到期利息为:%f 元,本息合计 %.2f 元。\n",interest,interest+principal);
printf("感谢您的使用,欢迎下次光临!\n");
return 0;
}
运行结果