c语言实验答案

上传人:第*** 文档编号:34206367 上传时间:2018-02-21 格式:DOC 页数:43 大小:252.50KB
返回 下载 相关 举报
c语言实验答案_第1页
第1页 / 共43页
c语言实验答案_第2页
第2页 / 共43页
c语言实验答案_第3页
第3页 / 共43页
c语言实验答案_第4页
第4页 / 共43页
c语言实验答案_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《c语言实验答案》由会员分享,可在线阅读,更多相关《c语言实验答案(43页珍藏版)》请在金锄头文库上搜索。

1、实验 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

5、,b;flost x,y;char c1,c2;scanf(a=%d,b=%d,scanf(%f, %e,scanf(%c %c, /*录入时%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,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;scanf(%f,%f,l=2*pi*r;

7、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,f=5.0/9*c+32;printf(%5.2fn,c);运行结果:(具体情况根据自己输入的数据而定)如在键盘上输入:37则运行结果为:52.56实验 2选择结构任务 1 if 语句程序设计1修

8、改下列程序,使之满足输入 10 时输出“= =” ,否则输出“!=”的条件。#includestdio.hmain()int x;scanf(%d,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”,if (a=b)if(b=c)printf(“a=b=c”); elseprintf(“a!=b”);3程序填空。从键盘输入任意一个大写字母,将其

9、转换成相应小写字母输出。#include main() char c;scanf(%c,if (c=A&c=65&cmain( ) float score;printf(input socre:);scanf(%f, if(score=90)printf(An);else if(score=80)printf(Bn);else if(score=70)printf(Cn);else if(score=60)printf(Dn);elseprintf(En);9给一个不多于 3 位的正整数,编写程序完成以下要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字,例如,原数

10、为 321,应输出 123。参考答案:#include stdio.hvoid main()int a,b,c,x,n;scanf(%d,a=x/100;b=(x-a*100)/10;c=x%10;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);elseprintf(%d 为 1 位数,原数为%d,逆序数为%dn,x,x,c);任务 2 switch 语句程序设计1有如下程序,执行后输出结果为_14_。#include

11、 “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);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有以下程序,执行

12、后输出结果为_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+; case 1: b+; break;case 1: a+;b+; break;case 2: a+;b+;printf(na=%d,b=%d,a,b);4.将下列的程序段改用 switch 语句来实现,使它完成相同的功能。if(x=0else if(x0) case 0 :y=0; break;case 1 : switch(int)x2/10) case 0: y=x2; break;case 1:

13、 y=x2+3;break;case 2: case 3: y=-0.5*x2+10;break;default: y=2*x2-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,switch(mm) case 1:

14、 case 3: case 5: case 7:case 8:case 10:case 12: days=31 ;break;case 4: case 6: case 9: case 11:days=30;break;case 2:if(yy%4=0else days=28;break;default:printf(input error);break;printf(the days of %d %d is %dn,yy,mm,days);6.假设奖金税率如下(ma 代表奖金,tr 代表税率), 利用 switch 语句编写程序对输入的一个奖金数,输出税率和应交税款以及实得奖金数(扣除奖金税后

15、), 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;while (!y-)printf (“%d,%dn”

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

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号