ImageVerifierCode 换一换
格式:DOCX , 页数:71 ,大小:44.36KB ,
资源ID:29265608      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29265608.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言实验答案.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言实验答案.docx

1、c语言实验答案实验1 基本程序示例任务1 熟悉C语言程序的编辑、编译、连接和运行过程【上机内容】1输入并运行下面程序,写出运行结果。#include stdio.hmain() char c1,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)将char c1,c2;改为如下语句,再运行。int c1, c2;运行结果:a,b(3)将c1=97;c2=98;改为如下语句,再运行,并分析其运行结果。c

2、1=300; c2=400;运行结果:,怭(或,?) 2分析下面程序,写出运行结果,再输入计算机中运行,将得到的结果与分析得到的结果比较对照。#include stdio.hmain() char c1=a,c2=b,c3=c,c4=101,c5=116;printf(a%c b%ctabc%c n,c1,c2,c3);printf(tb%c %c,c4,c5);运行结果:aa bb abccA N3分析下面程序,写出运行结果,再输入计算机中运行,将得到的结果与分析得到的结果比较对照。#include stdio.hmain() int i , j , m , n ; i=8; j=10; m

3、=+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)程序改为如下:#include stdio.hmain() int i , j ;i=8; j=10;printf(%d,%d, i+, j+);运行结果:8,10(3)程序改为如下:#include stdio.hmain() int i , j ;i=8; j=10;printf(%d,%d, + i, + j);运行结果:9,11(4)程序改

4、为如下:#include stdio.hmain() int i , j ;i=8; j=10;printf(%d,%d,%d,%d,i,j,i+,j+);运行结果:8,10,8,10(5)程序改为如下:#include stdio.hmain()int i , 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按格式要求输入、输出数据。程序请单如下:#include stdio.hmain() int a,b; flo

5、st x,y; char c1,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=%cn,a,b,x,y,c1,c2);运行该程序,必须按如下方式在键盘上输入数据: a=3,b=7 8.5,71.82a A (注解:a与A之间输入一个空格,且a紧跟71.82后写,不要空格)请写出输出结果。运行结果:a=7,b=3,x=8.500000,y=71.820000,c1=a,c2=A2输入三角形的三条

6、边长,求三角形面积。程序清单如下:#include stdio.h#include math.hmain()float a,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已知圆半径、圆柱高、求圆周长、圆柱体积。程序清单如下:#include stdio.hmain()float r,h,l,v,pi;pi=3.1415926

7、;scanf(%f,%f,&r,&h);l=2*pi*r;v=pi*r*r*h;printf(圆周长为:%6.2fn,l);printf(%圆柱体积为:6.2f,v);运行结果:(具体情况根据自己输入的数据而定)如在键盘上输入:5,6则运行结果为:圆周长为:31.42圆柱体积为:471.244输入一个摄氏温度,要求输出华氏温度,公式为f = 5/9c+32。程序清单如下:#include stdio.hmain()float c,f;scanf(%f,&c);f=5.0/9*c+32;printf(%5.2fn,c);运行结果:(具体情况根据自己输入的数据而定)如在键盘上输入:37则运行结果为

8、:52.56实验2选择结构任务1 if语句程序设计1修改下列程序,使之满足输入10时输出“= =”,否则输出“!=”的条件。#includestdio.hmain()int x;scanf(%d,&x);if(x=10)printf(=n);else printf(!=n);2修改下列程序,使之实现以下功能: 当a= =b并且b=c时,输出“a=b=c”; 当a!=b时,输出“a!=b”。#include “stdio.h” main( ) int a,b,c;scanf(“%d%d%d”,&a,&b,&c);if (a=b) if(b=c) printf(“a=b=c”); else pri

9、ntf(“a!=b”);3程序填空。从键盘输入任意一个大写字母,将其转换成相应小写字母输出。 #include main() char c; scanf(%c,&c); if (c=A&c=65&c=90) c=c+32; printf(n%c,c); 4有以下程序,执行后输出结果为_4_。#include “stdio.h”main( ) int a=1,b=2,c=3,d=4; if(abc) printf(“%dn”,d); else if(c-b)=a) printf(“%dn”,2*d); else printf(“%dn”,4*d);5有以下程序,执行后输出结果为_9 7 0_。#

10、include stdio.h main( ) int a=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%5dn,a,b,c); 6有以下程序,执行后输出结果为_9 8 7_。#include stdio.h main( ) int a=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%5dn,a,b,c); 7. x、y有如下函数关系,

11、编写程序输入x,输出y值。 x (x1) y = 2x1 (1x10) 3x11 (x10) 参考答案:#include stdio.hmain() double x,y; scanf (%lf,&x); if (x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf (y=%lf,y);8 输入一个百分制分数,要求输出对应的成绩等级:90100为A,8089为B,7079为C,6069为D,不及格为E。参考答案:#includemain() float score; printf(input socre:); scanf(%f, &score

12、); if(score=90) printf(An); else if(score=80) printf(Bn); else if(score=70) printf(Cn); else if(score=60) printf(Dn); else printf(En);9给一个不多于3位的正整数,编写程序完成以下要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字,例如,原数为321,应输出123。参考答案:#include stdio.hvoid main()int a,b,c,x,n;scanf(%d,&x);a=x/100;b=(x-a*100)/10;c=x%1

13、0;if(a!=0) printf(%d为3位数,原数为%d,逆序数为%dn,x,x,c*100+b*10+a);else if(b!=0) printf(%d为2位数,原数为%d,逆序数为%dn,x,x,c*10+b); else printf(%d为1位数,原数为%d,逆序数为%dn,x,x,c);任务2 switch语句程序设计1有如下程序,执行后输出结果为_14_。#include “stdio.h” main ( ) int i=5; switch(i) case 4:i+=1; case 5:i+=2; case 6:i+=3; default:i+=4; printf(%dn,i

14、);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_#include stdio.hmain( ) int x=0,y=1,a=2,b=3; switch(x) case 0: switch(y) case 0: a+;

15、case 1: b+; break; case 1: a+;b+; break; case 2: a+;b+; printf(na=%d,b=%d,a,b);4.将下列的程序段改用switch语句来实现,使它完成相同的功能。if(x=0&x10) y=x;else if(x20) y=x+3;else if(x0) case 0 :y=0; break; case 1 : switch(int)x2/10) case 0: y=x2; break; case 1: y=x2+3;break; case 2: case 3: y=-0.5*x2+10;break; default: y=2*x2

16、-5;break; printf(x=%f,y=%f,x1,y);5以下程序计算某年某月有几天,闰年与平年的二月份天数不同。判别闰年的条件是:能被4整除但不能被100整除的年是闰年,或者能被400整除的年也是闰年。请分析程序填空。#include stdio.h#include stdio.hmain() int yy,mm,days; printf(input year and month:); scanf(%d %d,&yy,&mm); switch(mm) case 1: case 3: case 5: case 7:case 8: case 10:case 12: days=31 ;b

17、reak; case 4: case 6: case 9: case 11:days=30;break; case 2:if(yy%4=0&yy%100!=0|yy%400=0) days=29 ; else days=28; break; default:printf(input error);break; printf(the days of %d %d is %dn,yy,mm,days);6.假设奖金税率如下(ma代表奖金,tr代表税率), 利用switch语句编写程序对输入的一个奖金数,输出税率和应交税款以及实得奖金数(扣除奖金税后), ma1000时, tr=0%; 1000 ma

18、2000时, tr=5%; 2000 ma=1000) case 0 :tr=0; break; case 1 : switch(int)ma/1000) case 1: tr=0.05;break; case 2: case 3: tr=0.08;break; default: tr=0.1;break; printf(税率为=%.2f,应交税款为=%.2f,实得奖金数为=%.2fn,tr,ma*tr,ma*(1-tr);实验3循环结构实验(1)任务1 while语句程序设计1分析并修改下面的程序,使该程序能正常结束运行。 #include main() int x,y; x=2; y=0;

19、 while (!y-) printf (“%d,%dn”,x, y);2下列程序中,while循环的循环次数为_6次_。 #include main() int i=0; while(i10) if(i=5) break;i+; printf (“%dn”,i);3下面是一个计算e的近似值(使误差小于给定的数值)的程序。#includemain() double e=1.0,x=1.0,y,detax; int i=1; printf(please input enter :n); scanf(%lf,&detax); y=1/x; while(y=detax) x=x*i; y=1/x;

20、e=e+y; +i; printf(%12.10f,e);参考答案:实验要求:(1)阅读上面的程序,写出程序所依据的计算公式。e=1+1/1!+1/2!+1/3!+.+1/n!(2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:a.不进入循环;detax1.0b.只循环两次;detax0.5&detax=1.0c.进入死循环(程序将永远循环下去)。 =detax,分别换成ydetax,y=detax,ydetax,y=detax,观察程序运行将会有什么变化。4编写程序。对输入的任意的一个正整数按反序输出。例如,输入147,输出741。参考答案:#include stdio.hv

21、oid main() int x,i; scanf(%d,&x); while(x!=0) i=x%10; x=x/10; printf(%d,i); 任务2 do-while语句程序设计1分析并修改下面的程序,使该程序能正常结束运行。 #include main() int x=0; dox+;while(x=2); printf (“%dn”,x);2.有以下两段程序,比较输出结果并分析原因。(一)main() int x=0;while(x0) x+; printf (“%dn”,x); 结果为:0(二)main() int x=0; do x+;while(x0); printf (“

22、%dn”,x); 结果为:1两段程序结果不同,是因为x的初始值为0,从而使循环条件不成立。当循环条件不成立一次都不成立时,dowhile循环会比while循环多执行一次循环体。3下列程序中,do_while循环的循环次数为_ 无限次_。#include main() int i=0; do if(i=6) continue; i=i+2; while(i10); printf (%dn,i);4.运行下列程序,输出结果为_sum=4000_。#include stdio.h#define N 100main( ) int x=0,sum=0; do if(x=(x/5*5) continue;

23、 sum=sum+x; while(+xN); printf(sum=%dn,sum);5.求 1!+2!+3!+4!+5!+6!+7!+8!+9!+10! 请填空将下面的程序补充完整: 答案:4037913#include main( ) int j,m,p,s; s=0; m=1 ; do p=1; j=1 ; while(j=m) p*=j; j+; s=s+p; m+; while(m=10); printf(s=%dn,s);6. 编写程序。每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果总个数到不超过100的最大值,求每天平均花多少钱? 答案:9.

24、92参考答案:#include stdio.hvoid main() int x,sum,day; double ave=0; x=2; day=1; sum=2; do x=2*x; sum=sum+x; day+; while(sum=100); ave=(sum-x)*0.8/(day-1); printf(%lf,ave);实验4循环结构实验(2)任务1 for语句程序设计1分析并修改下面的程序,使该程序能正常结束运行。#include main() int i; for(i=1;i10;i+) printf (%dn,i);2分析并修改下面的程序,使sum的值为1+2+10的和。#i

25、nclude main( ) int i=1,sum=0; for(;i=10;i+) sum=sum+i; printf (sum=%dn,sum);3.运行下列程序,输出结果为_sum=15_。#include main() int i,sum=0; for(i=0;i=10;i+) sum=sum+i; if(i=5) break; printf (sum=%dn,sum);4.运行下列程序,输出结果为_sum=4000_。#include main() int i,sum=0; for(i=0;i=100;i+) if(i%5)=0) continue; sum=sum+i; printf (sum=%dn,sum);5.运行下列程序,输出结果为_ sum=60_。#include main() int i,j,sum=0; for(i=0;i=3;i+) for(j=0;j=5;j+) sum=sum+j; printf (sum=%dn,sum);6.程序填空。求出1000以内能被13整除的最大数。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1