选择结构练习题(if语句if else语句switch语句)
Posted 张夷陵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择结构练习题(if语句if else语句switch语句)相关的知识,希望对你有一定的参考价值。
一、if语句练习
1.输入三个整数,按从小到大的顺序输出
思路:if语句冒泡排序3次
#include<stdio.h>
int main()
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b)t=a;a=b;b=t;
if(b>c)t=c;c=b;b=t;
if(a>b)t=a;a=b;b=t;
printf("a=%d,b=%d,c=%d",a,b,c);
return 0;
二、if else语句练习
1.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。(Monday、Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday)
思路:
1.当输入MWF时,三个首字母无重复,直接输出星期几
2.当输入ST时,继续读入下一个字母,根据下一个字母输出星期几
注意:当需要使用多个输入函数接收字符时需要注意的是:多使用一次getchar()接收回车换行符
#include<stdio.h>
int main()
char c;
c=getchar();
getchar();
if(c=='M')printf("星期一");
else if(c=='W')printf("星期三");
else if(c=='F')printf("星期五");
else
printf("请输入第二个字母:");
char c2=getchar();
getchar();
if(c2=='u')printf(c=='T'?"星期二":"星期天");
else printf(c2=='h'?"星期四":"星期六");
return 0;
2.输入图书的定价和数量,计算购书金额并输出。其中,图书销售策略为:正常情况下按九折出售,超过10本按八五折出售,超过100本按八折出售。
思路:傻瓜题,注意定价类型和购书金额类型,scanf函数输入时要求严格匹配,double型使用%lf格式,float型使用%f格式
#include<stdio.h>
int main()
double p,sp;
int n;
printf("请输入定价和数量:");
scanf("%lf%d",&p,&n);
if(n>100)sp=n*p*0.8;
else if(n>10)sp=n*p*0.85;
else sp=n*p*0.9;
printf("购书金额为:%.2lf",sp);
return 0;
3.从键盘输入某年某月某日,输出这个日期是该年的第几天。
思路:定义数组存储每个月份的天数,从1月累加到当前月份天数。
注意当年份为闰年时设置2月为29天。
#include<stdio.h>
int main()
int y,m,d;
printf("请依次输入年月日:");
scanf("%d%d%d",&y,&m,&d);
int a[13]=0,31,28,31,30,31,30,31,31,30,31,30,31;
if((y%4==0&&y%100!=0)||y%400==0)
a[2]=29;
int today=d,i;
for(i=1;i<m;i++)
today+=a[i];
printf("该日期是该年的第%d天\\n",today);
return 0;
三、switch语句练习
1.从键盘输入某年某月,输出该年份该月的天数。
思路:1、3、5、7、8、10、12是31天,4、6、9、11是30天,2月平年28天、闰年29天
#include<stdio.h>
int main()
int y,m;
printf("请依次输入年月:");
scanf("%d%d",&y,&m);
switch(m)
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:printf((y%4==0&&y%100!=0)||y%400==0?"29天":"28天");
return 0;
以上是关于选择结构练习题(if语句if else语句switch语句)的主要内容,如果未能解决你的问题,请参考以下文章
选择结构练习题(if语句if else语句switch语句)