C语言上机实验 答案(27页).doc

上传人:1595****071 文档编号:36740420 上传时间:2022-08-28 格式:DOC 页数:27 大小:278.50KB
返回 下载 相关 举报
C语言上机实验 答案(27页).doc_第1页
第1页 / 共27页
C语言上机实验 答案(27页).doc_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《C语言上机实验 答案(27页).doc》由会员分享,可在线阅读,更多相关《C语言上机实验 答案(27页).doc(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-C语言上机实验 答案-第 27 页实验一 上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC+语言的上机环境及上机操作过程。2、了解如何编辑、编译、连接和运行一个C程序。3、初步了解C程序的特点。三、实验内容: 说明:前三题为必做题目,后两题为选做题目。1、输出入下信息:(实验指导书P79) Very Good2、计算两个整数的和与积。(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书P3)4、在屏幕上显示一个文字菜单模样的图案: 1 输入数据 2 修改数据 3 查询数据 4 打印数据5、从键盘上输入两个整数,交换这两个整

2、数。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include void main( ) printf(“*n”); printf(“ Very Goodn”); printf(“*n”);2、#include void main( ) int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%dn”,a,b,c); printf(“%d*%d=%dn”,a,b,d);3、#include #include void main( ) double x,s

3、; printf(“Please input value of x:”); scanf(“%lf”,&x); s=cos(x); printf(“cos(%lf)=%lfn”,x,s);4、#include void main( ) printf(“=n”); printf(“ 1 输入数据 2 修改数据n”); printf(“ 3 查询数据 4 打印数据n”); printf(“=n”);5、#include void main( ) int x,y,t; printf(“Please enter x and y:”); scanf(“%d%d”,&x,&y); t=x; x=y; y=t

4、; printf(“After swap:x=%d,y=%dn”,x,y);实验二 简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。2、学会使用C语言的运算符及表达式。3、掌握不同数据类型的输入输出方法。三、实验内容: 说明:前四题为必做题目,后两题为选做题目。 1、输入r1、r2,求出圆形垫片面积。(实验指导书P84)2、输入华氏温度h,输出摄氏温度c。(实验指导书P85)3、从键盘输入一个3位整数,将输出该数的逆序数。(实验指导书P89)4、输入并运行以下程序,分析运行结果。 #include void main( ) int i,j; i=8; j

5、=10; printf(“%d,%dn”,+i,+j); i=8; j=10; printf(“%d,%dn”,i+,j+); i=8; j=10; printf(“%d,%dn”,+i,i); i=8; j=10; printf(“%d,%dn”,i+,i);5、输入三角形三条边的边长,求三角形的面积。(书P55)6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(书P55)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include #define PI 3.14 void main( ) float r1,r2; double s1,s2,s; print

6、f(“Please enter r1,r2:n”); scanf(“%f%f”,&r1,&r2); s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1; printf(“s=%lfn”,s);2、#include void main( ) float h,c; printf(“请输入华氏温度:”); scanf(“%f”,&h); c=5.0/9*(h-32); printf(“n摄氏温度:%fn”,c);3、#include void main( ) int a,b,c,x,y; printf(“请输入一个3位的正整数:n”); scanf(“%d”,&x); a=x/100

7、; /*求x的百位数*/b=(x-a*100)/10; /*求x的十位数*/c=x-a*100-b*10; /*求x的个位数*/y=c*100+b*10+a;printf(“%d:%dn”,x,y); 4、运行结果:9,11 8,10 9,8 8,85、#include #include void main( ) int a,b,c; double area,s; printf(“Please enter a,b,c:”); scanf(“%d,%d,%d”,&a,&b,&c); s=(double)(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(

8、“area=%.2lfn”,area);6、#include void main( ) char a,b,c; float x; printf(“Please enter:n”); a=getchar(); b=getchar(); c=getchar(); x=(a+b+c)/3.0; printf(“(a+b+c)/3=%.2fn”,x);实验三 选择结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、熟练掌握if语句和switch语句。2、练习并掌握多分支选择结构的编程方法。3、学习调试和修改程序的步骤。三、实验内容: 说明:前三题为必做题目,后两题为选做题目。1、读入3个分别

9、表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。(实验指导书P104)2、输入某一年月,输出该月的天数。(实验指导书P105)3、有一函数: x (x1)y= 2x-1 (1x10) 3x-11 (x10) 编写程序,输入x值,输出y值。4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。(书P94)5、输入4个整数,要求按由小到大的顺序输出。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include void main( ) int l,w,h; printf(“请输入箱子的长

10、、宽、高:n”); scanf(“%d%d%d”,&l,&w,&h); if(l=w&w=h) /*如果长、宽、高相等,则为立方体*/ printf(“该箱子是立方体。”); else printf(“该箱子是长方体。”);2、#include void main( ) int year,month,days; printf(“Please enter year and month:n”); switch(month) case 2: if(year%4=0&year%100!=0|year%400=0) days=29; else days=28; break; case 1:case 3:

11、case 5:case 7:case 8:case 10:case 12: days=31; break; case 4: case 6: case 9: case 11: days=30;printf(“%d年%d月有%d天n”,year,month,days);3、#include void main( ) float x,y; printf(“Please input x:n”); scanf(“%f”,&x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(“y=%fn”,y);4、#include void main(

12、 ) char x; printf(“Enter a char:n”); x=getchar();if(x=a&x=A&x=Z) x=x+32;putchar(x);5、#include void main( ) int a,b,c,d,t; printf(“请输入4个整数:”); scanf(“%d%d%d%d”,&a,&b,&c,&d); if(ab) t=a; a=b; b=t; if(ac) t=a; a=c; c=t; if(ad) t=a; a=d; d=t; if(bc) t=b; b=c; c=t; if(bd) t=b; b=d; d=t; if(cd) t=c; c=d;

13、d=t; printf(“排序结果如下:n”); printf(“%d,%d,%d,%dn”,a,b,c,d);实验四 循环结构程序设计(4学时)一、实验方式:一人一机二、实验目的:1、熟练掌握while语句、do-while语句和for语句。2、练习并掌握循环结构的嵌套形式。3、掌握循环结构的程序设计方法。三、实验内容: 说明:前四题为必做题目,后两题为选做题目。1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。(实验指导书P117)2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验指导书P118)3、判断输入的某个

14、数是否为素数。若是,输出YES,否则输出NO。(书P123)4、计算的近似值。公式如下:/4=1-1/3+1/5-1/7+,直到最后一项的绝对值小于10-6为止。(书P123)5、计算 s=1!+2!+20! 的值并输出。6、输入10个整数,统计并输出其中正数、负数和零的个数。四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include void main( ) float x,max,min; printf(“Please input scores:”); scanf(“%f”,&x); max=min=x; while(x=0) if(xmax) max=x; if(xmin)

15、 min=x; scanf(“%f”,&x);printf(“nmax=%fnmin=%fn”,max,min);2、#include void main( ) int x,y,z; int k=100; while(k=999) x=k/100; y=(k-x*100)/10; z=k-x*100-y*10; if(k=x*x*x+y*y*y+z*z*z) printf(“%dn”,k); k+;3、#include #include void main( ) int i,x,yes,a; printf(“Enter integer number:”); scanf(“%d”,&x); ye

16、s=1; i=2; a=(int)sqrt(double)x); while(yes&i=a) if(x%i=0) yes=0; i+;printf(“%d”,x);if(yes) printf(“YESn”);else printf(“NOn”);4、#include #include void main( ) float pi,t,n; int sign=1; pi=0; n=1; t=1; while(fabs(t)=1e-6) t=sign/n; pi+=t; n+=2; sign=-sign;pi=pi*4;printf(“pi=%fn”,pi);5、#include void ma

17、in( ) float s=0,t=1; int n; for(n=1;n=20;n+) t=t*n; s=s+t;printf(“1!+2!+20!=%fn”,s);6、#include void main( ) int x,i,a1=0,b1=0,c1=0; for(i=1;i0) a1+;else if(x0) b1+;else c1+;printf(“整数有%d个,负数有%d个,零有%d个n”,a1,b1,c1);实验五 综合实验1:结构化程序设计(2学时)一、实验方式:一人一机二、实验目的:1、进一步掌握选择结构、循环结构的编程特点。2、掌握C语言的结构化程序设计思想。3、学习利用循

18、环结构实现的一些常用算法(如穷举、迭代、递推等)。三、实验内容: 说明:前两题为必做题目,后两题为选做题目。1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设:90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(书P93)2、百马百担问题。(实验指导书P121)3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。4、输出如下图案: *四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include void main( ) int score,temp,logic; char grade;logi

19、c=1;while(logic) printf(“Input score:”); scanf(“%d”,&score); if(score100|score0) printf(“nError,Input again!n”); else logic=0; printf(“n”);if(score=100) temp=9;else temp=score/10;switch(temp) case 9: grade=A;break; case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;default: grade=E;pr

20、intf(“Score is %d,the grade is %c.n”,score,grade);2、#include void main( ) int m,n,k; int sum=0; printf(“各种驮法如下:n”); for(m=1;m=100;m+) for(n=1;n=100-m;n+) k=100-m-n; if(k%2=0&m*3+n*2+k/2=100) printf(“大马%3d匹;中马%3d匹;小马%3d匹.n”,m,n,k); sum+;printf(“共有%d种驮法.n”,sum);3、#include void main( ) char c; int lett

21、er=0,space=0,digit=0,other=0; printf(“请输入一行字符:n”); while(c=getchar( )!=n) if(c=a&c=A&c=0&c=9) digit+;else other+;printf(“字母数=%d,空格数=%dn”,letter,space); printf(“数字数=%d,其他字符数=%dn”,digit,other);4、#include void main( ) int i,j,k;for(i=0;i=3;i+) for(j=0;j=2-i;j+) printf(“ ”);for(k=0;k=2*i;k+) printf(“*”)

22、;printf(“n”);for(i=0;i=2;i+) for(j=0;j=i;j+) printf(“ ”);for(k=0;k=4-2*i;k+) printf(“*”);printf(“n”);实验六 函数程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言中函数的三要素:函数定义、函数调用和函数说明。2、掌握通过参数在函数间传递数据的方法。3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。三、实验内容: 说明:前四题为必做题目,后两题为选做题目。1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(实验指导书P130)2、输入整数n,

23、输出高度为n的等边三角形。当n=5时的等边三角形如下:(实验指导书P134)3、输入并运行以下程序,分析运行结果。 #include int a=5;int b=7; void main( ) int a=4,b=5,c; c=plus(a,b); printf(“a+b=%dn”,c);plus(int x,int y) int z; z=x+y; return (z);4、求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。(实验指导书P136)5、输入并运行以下程序,分析运行结果。 #include int

24、d=1; fun(int p) static int d=5; d+=p; printf(“%d ”,d); return (d);void main( ) int a=3; printf(“%d ”,fun(a+fun(d);6、设计一个函数,输出整数n的所有素数因子。(书P157)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include #include float area(float a,float b,float c) float s,p,area; s=(a+b+c)/2; p=s*(s-a)*(s-b)*(s-c); area=sqrt(p); return (a

25、rea);void main( ) float x,y,z,ts; scanf(“%f%f%f”,&x,&y,&z); if(x0&y0&z0&x+yz&y+zx&x+zy) ts=area(x,y,z); printf(“area=%fn”,ts);else printf(“data error!n”);2、#include void trangle(int n) int i,j; for(i=0;in;i+) for(j=0;j=n-i;j+) putchar( ); /*打印每一行的空格*/ for(j=0;j=2*i;j+) putchar(*); /*打印每一行的*号*/ putch

26、ar(n);void main( ) int n; printf(“Please enter n:”); scanf(“%d”,&n); printf(“n”); trangle(n);3、a+b=94、#include int facsum(int m) int sum=1,f=2; while(f=m/2) if(m%f=0) sum=sum+f; f+;return sum;void main( ) int m=3,n,k; while(m=500) n=facsum(m); k=facsum(n); if(m=k&m=n) printf(“%d,%dn”,m,n); m+; 5、6 1

27、5 156、#include int prime(int n) int i,flag=1; for(i=2;i=n/2;i+) if(n%i=0) flag=0; retun flag;return flag;void factor(int n) int i; i=2; while(i=n) if(n%i=0)&prime(i) printf(“%d ”,i); n=n/i; continue; i+; void main( ) int num; printf(“Enter num:”); scanf(“%d”,&num); printf(“prime factor is:n”); facto

28、r(num);实验七 数组程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握数组的定义、赋值和输入输出的方法。2、学习用数组实现相关的算法(特别是排序算法)。3、掌握C语言中字符数组和字符串处理函数的使用。三、实验内容:说明:前四题为必做题目,后两题为选做题目。1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。 #include void main( ) int i,n,a10,avg; for(i=0;in;i+) scanf(“%d”,ai); for(i=0;in;i+) i

29、f(i%3=0) printf(“n”); printf(“%d ”,ai);for(i=0;in;i+) avg+=ai;printf(“navg=%fn”,avg);2、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡排序实现)。(实验指导书P147)3、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串。(实验指导书P153)4、输入一个3行3列矩阵的所有元素,然后求出主对角线元素之和。5、给定某年某月某日,将其转换成这一年的第几天并输出。(实验指导书P152)6、编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位

30、置,否则输出no found。(书P191)四、实验步骤与过程:五、实验调试记录:六、参考答案:1、#include void main( ) int i,n=10,a10;float avg=0; for(i=0;in;i+) scanf(“%d”,&ai); for(i=0;in;i+) if(i%3=0) printf(“n”); printf(“%d ”,ai);for(i=0;in;i+) avg+=ai;avg=avg/n;printf(“navg=%fn”,avg);2、#include void sort1(int s ,int n) int i,j; int t; for(i

31、=0;i=i+1;j-) if(sjsj-1) t=sj;sj=sj-1;sj-1=t; void main( ) int i,a10; printf(“Please input 10 numbers:n”);for(i=0;i10;i+) scanf(“%d”,&ai);sort1(a,10);printf(“The sorted 10 numbers:n”);for(i=0;i10;i+) printf(“%d ”,ai); 3、#include #include #define N 40void main( ) char strN,ch=Y; int i; int len; printf

32、(“Input a string:n”); scanf(“%s”,str); len=strlen(str); for(i=0;ilen/2;i+) if(stri!=strlen-1-i) ch=N; break; if(ch=Y) printf(“%s是一个回文数n”,str); else printf(“%s不是一个回文数n”,str);4、#include void main( ) int a33,sum; int i,j; sum=0; for(i=0;i3;i+) for(j=0;j3;j+) scanf(“%d”,&aij); for(i=0;i3;i+) sum=sum+aii; printf(“sum=%dn”,sum); 5、#include int day_tab213=0,31,28,31,30,3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com