实验(4)-选择结构-参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计实验教学(4)
【实验目的】通过程序设计实现,掌握if结构和switch结构的正确应用。【实验要求】使用if结构和switch结构实现多种条件的选择结构程序,熟练二者的应用范围和注意事项。练习条件表达式的书写。
【实验课时】4.0
【实验内容】
1、运行下列程序,分析结果。
main( )
{ int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a
printf("%d,%d\n",k,m);
}
2、编写程序,实现从键盘上输入一个整数,判断其奇偶性。
main()
{int a;
scanf("%d",&a);
if(a%2==0)
printf("%d is oushu.\n",a);
else
printf("%d is jishu.\n",a);}
3、编写程序,实现从键盘上输入3个整数a,b,c,并输出其中最大的数。
main()
{int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=a>b?a:b;
max=max>c?max:c;
printf("max is %d\n",max);}
main()
{int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b) max=a;
else max=b;
if(c>max) max=c;
printf("max is %d\n",max);}
main()
{int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
if(a>c)
max=a;
else
max=c;
else
if(b>c)
max=b;
else
max=c;
printf("max is %d\n",max);}
4、编写程序,实现从键盘上输入4个整数,并按从大到小顺序输出。
main()
{int a,b,c,d,t;
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a>b) {t=a;a=b;b=t;}
if(a>c) {t=a;a=c;c=t;}
if(a>d) {t=a;a=d;d=t;}
if(b>c) {t=b;b=c;c=t;}
if(b>d) {t=b;b=d;d=t;}
if(c>d) {t=c;c=d;d=t;}
printf("sorted by small to large: %d,%d,%d,%d\n",a,b,c,d);}
5、 完成下列分段函数的计算:分别使用if -else if 和if-if 的嵌套结构来实现。 方法一(用if —— else if 结构表达)
#include
#include
main()
{int x,y;
clrscr();
printf("Please input value of x:\n");
scanf("%d",&x);
if (x<0)
y=1;
else
if (x>10)
y=x*x+x+1;
else
y=x+1;
printf("x=%d,y=%d\n",x,y);}
方法二(用if —— if 结构表达)
x y =0= 1 x >10 2+x +1 #include main() {int x,y; clrscr(); printf("Please input value of x:\n"); scanf("%d",&x); if(x<=10) if(x<0) y=1; else y=x+1; else y=x*x+x+1; printf("x=%d,y=%d\n",x,y);} 6、编写一个程序,判断从键盘上输入的一个年份是否为闰年?方法一: #include #include main() {int year; clrscr(); printf("Please input a year:\n"); scanf("%d",&year); if(year%4==0 && year%100!=0 || year%400==0) printf("%d is a leap year\n",year); else printf("%d is not a leap year\n",year);} 方法二:(用if if 结构表达) #include main() {int year,leap; clrscr(); printf("Please input a year:\n"); scanf("%d",&year); if(year%4==0) if(year%100==0) if(year%400==0) leap=1; else leap=0; else leap=1; else leap=0; if(leap==1) printf("%d is a leap year\n",year); else printf("%d is not a leap year\n",year);} 方法三:(用if else if 结构表达) #include #include main() {int year,leap; clrscr(); printf("Please input a year:\n"); scanf("%d",&year); if(year%400==0)