大学C语言程序设计实验教程实验答案2012年版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验1基本程序示例任务1熟悉C语言程序的编辑、编译、连接和运行过程【上机内容】1.输入并运行下面程序,写出运行结果。#includestdio.hmain(){charc1,c2;c1=97;c2=98;printf(%c,%c,c1,c2);}在此基础上,完成以下3项任务:(1)在c1=97;c2=98;语句后加入如下语句,并运行。printf(%d,%d,c1,c2);运行结果:a,b97,98(2)将charc1,c2;改为如下语句,再运行。intc1,c2;运行结果:a,b(3)将c1=97;c2=98;改为如下语句,再运行,并分析其运行结果。c1=300;c2=400;运行结果:,,怭(或,,?)2.分析下面程序,写出运行结果,再输入计算机中运行,将得到的结果与分析得到的结果比较对照。#includestdio.hmain(){charc1='a',c2='b',c3='c',c4='\101',c5='\116';printf(a%cb%c\tabc%c\n,c1,c2,c3);printf(\t\b%c%c,c4,c5);}运行结果:aabbabccAN3.分析下面程序,写出运行结果,再输入计算机中运行,将得到的结果与分析得到的结果比较对照。#includestdio.hmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(%d,%d,%d,%d,i,j,m,n);}运行结果:9,11,9,10分别进行以下改动后,先分析结果,再运行对照。(1)将m=++i;n=j++;改为如下:m=i++;n=++j;运行结果:9,11,8,11(2)程序改为如下:#includestdio.hmain(){inti,j;i=8;j=10;printf(%d,%d,i++,j++);}运行结果:8,10(3)程序改为如下:#includestdio.hmain(){inti,j;i=8;j=10;printf(%d,%d,++i,++j);}运行结果:9,11(4)程序改为如下:#includestdio.hmain(){inti,j;i=8;j=10;printf(%d,%d,%d,%d,i,j,i++,j++);}运行结果:8,10,8,10(5)程序改为如下:#includestdio.hmain(){inti,j,m=0,n=0;i=8;j=10;m+=i++;n-=--j;printf(i=%d,j=%d,m=%d,n=%d,i,j,m,n);}运行结果:i=9,j=9,m=8,n=-9任务2简单的C语言程序设计1.按格式要求输入、输出数据。程序请单如下:#includestdio.hmain(){inta,b;flostx,y;charc1,c2;scanf(a=%d,b=%d,&a,&b);scanf(%f,%e,&x,&y);scanf(%c%c,&c1,&c2);/*录入时%c与%c之间有个空格*/printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n,a,b,x,y,c1,c2);}运行该程序,必须按如下方式在键盘上输入数据:a=3,b=7↙8.5,71.82aA↙(注解:a与A之间输入一个空格,且a紧跟71.82后写,不要空格)请写出输出结果。运行结果:a=7,b=3,x=8.500000,y=71.820000,c1=a,c2=A2.输入三角形的三条边长,求三角形面积。程序清单如下:#includestdio.h#includemath.hmain(){floata,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(area=%f,area);}运行结果:(具体情况根据自己输入的数据而定)如在键盘上输入:3,4,5↙则运行结果为:area=6.0000003.已知圆半径、圆柱高、求圆周长、圆柱体积。程序清单如下:#includestdio.hmain(){floatr,h,l,v,pi;pi=3.1415926;scanf(%f,%f,&r,&h);l=2*pi*r;v=pi*r*r*h;printf(圆周长为:%6.2f\n,l);printf(%圆柱体积为:6.2f,v);}运行结果:(具体情况根据自己输入的数据而定)如在键盘上输入:5,6↙则运行结果为:圆周长为:31.42圆柱体积为:471.244.输入一个摄氏温度,要求输出华氏温度,公式为f=5/9·c+32。程序清单如下:#includestdio.hmain(){floatc,f;scanf(%f,&c);f=5.0/9*c+32;printf(%5.2f\n,c);}运行结果:(具体情况根据自己输入的数据而定)如在键盘上输入:37↙则运行结果为:52.56实验2选择结构任务1if语句程序设计1.修改下列程序,使之满足输入10时输出“==”,否则输出“!=”的条件。#includestdio.hmain(){intx;scanf(%d,&x);if(x==10)printf(==\n);elseprintf(!=\n);}2.修改下列程序,使之实现以下功能:①当a==b并且b==c时,输出“a==b==c”;②当a!=b时,输出“a!=b”。#include“stdio.h”main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);if(a==b){if(b==c)printf(“a==b==c”);}elseprintf(“a!=b”);}3.程序填空。从键盘输入任意一个大写字母,将其转换成相应小写字母输出。#includestdio.hmain(){charc;scanf(%c,&c);if(c='A'&&c='Z')或(c=65&&c=90)c=c+32;printf(\n%c,c);}4.有以下程序,执行后输出结果为_______4_______。#include“stdio.h”main(){inta=1,b=2,c=3,d=4;if(abc)printf(“%d\n”,d);elseif((c-b)==a)printf(“%d\n”,2*d);elseprintf(“%d\n”,4*d);}5.有以下程序,执行后输出结果为______970_____。#includestdio.hmain(){inta=8,b=7,c=9,t=0;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%5d%5d%5d\n,a,b,c);}6.有以下程序,执行后输出结果为_____987_____。#includestdio.hmain(){inta=8,b=7,c=9,t=0;if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(bc){t=b;b=c;c=t;}printf(%5d%5d%5d\n,a,b,c);}7.x、y有如下函数关系,编写程序输入x,输出y值。x(x1)y=2x–1(1≤x10)3x–11(x≥10)参考答案:#includestdio.hmain(){doublex,y;scanf(%lf,&x);if(x1)y=x;elseif(x10)y=2*x-1;elsey=3*x-11;printf(y=%lf,y);}8.输入一个百分制分数,要求输出对应的成绩等级:90~100为‘A’,80~89为‘B’,70~79为‘C’,60~69为‘D’,不及格为‘E’。参考答案:#includestdio.hmain(){floatscore;printf(inputsocre:);scanf(%f,&score);if(score=90)printf(A\n);elseif(score=80)printf(B\n);elseif(score=70)printf(C\n);elseif(score=60)printf(D\n);elseprintf(E\n);}9.给一个不多于3位的正整数,编写程序完成以下要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字,例如,原数为321,应输出123。参考答案:#includestdio.hvoidmain(){inta,b,c,x,n;scanf(%d,&x);a=x/100;b=(x-a*100)/10;c=x%10;if(a!=0)printf(%d为3位数,原数为%d,逆序数为%d\n,x,x,c*100+b*10+a);elseif(b!=0)printf(%d为2位数,原数为%d,逆序数为%d\n,x,x,c*10+b);elseprintf(%d为1位数,原数为%d,逆序数为%d\n,x,x,c);}任务2switch语句程序设计1.有如下程序,执行后输出结果为______14______。#include“stdio.h”main(){inti=5;switch(i){case4:i+=1;case5:i+=2;case6:i+=3;default:i+=4;}printf(%d\n,i);}2.有如下程序段,若grade的值为'C',则输出结果是_____Medium!____Pass!______。switch(grade){case'A':printf(Excellent!\n);case'B':printf(Fine!\n);break;case'C':printf(Medium!\n);case'D':printf(Pass!\n);break;default:printf(Fail!\n);}3.有以下程序,执行后输出结果为_______a=3,b=5__________#includestdio.hmain(){intx=0,y=1,a=2,b=3;switch(x){case0:switch(y){case0:a++;case1:b++;break;}case1:a++;b++;break;case2:a++;b++;}printf(\na=%d,b=%d,a,b);}4.将下列的程序段改用switch语句来实现,使它完成相同的功能。if(x=0&&x10)y=x;elseif(x20)y=x+3;elseif(x40)y=-0.5*x+10;elsey=2*x-5;参考答案:#includestdio.hmain(){floatx1,x2;floaty;scanf(%f,&x1);x2=x1;switch(x10){case0:y=0;break;case1:switch((int)x2/10){case0:y=x2;break;case1:y=x2+3;break;case2:case3:y=-0.5*x2+10;break;default:y=2*x2-5;break;}}printf(x=%f,y=%f,x1,y);}5.以下程序计算某年某月有几天,闰年与平年的二月份天数不同。判别闰年的条件是:能被4整除但不能被100整除的年是闰年,或者能被400整除的年也是闰年。请分析程序填空。#includestdio.h#includestdio.hmain(){intyy,mm,days;printf(inputyearandmonth:);scanf(%d%d,&yy,&mm);switch(mm){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(yy%4==0&&yy%100!=0||yy%400==0)days=29;elsedays=28;break;default:print

1 / 43
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功