资源描述:
《实验2-8参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验二、 选择结构参考答案1.修改下列程序,使之满足当x为10时输出“==”,否则输出“!=”的条件。#include"stdio.h"main(){intx;scanf("%d",&x);if(x==10)printf("==");elseprintf("!=");}2.修改下列程序,使之实现以下功能:#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
2、(“a!=b”);}3.程序填空。从键盘输入任意一个字母,将其按小写字母输出。#includemain(){charc;scanf("%c",&c);if(c>='A'&&c<='Z')c=c+32;printf("%c",c);}7.有一函数x(x<1)y=2x–1(1≤x<10)3x–11(x≥10)编写程序输入x,输出y值。#include"stdio.h"main(){intx,y;scanf("%d",&x);if(x<1)y=x;elseif(x<10)y=2*x-1;elsey=3
3、*x-11;printf("%d",y);}9.给一个不多于3位的正整数,要求:(1)求出它是几位数;(2)、分别打出每一位数字;(3)、按逆序打出各位数字,例如原数为321,应输出123。#include"stdio.h"voidmain(){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",x,x,c*100+b*10+a);elseif(b!=0)printf("%d为
4、2位数,原数为%d,逆序数为%d",x,x,c*10+b);elseprintf("%d为1位数,原数为%d,逆序数为%d",x,x,c);}实验三、 循环结构实验(1)1.分析并修改下面的程序,使该程序能正常结束运行。#includemain(){intx,y;x=2;y=0;while(!y--)printf(“%d,%d”,x,y);}3.下面是一个计算e的近似值(使误差小于给定的数值)的程序。main(){doublee=1.0,x=1.0,y,detax;inti=1;prin
5、tf(“pleaseinputenter:”);scanf(“%lf”,&detax);y=1/x;while(y>=detax){x=x*i;y=1/x;e=e+y;++i;}printf(“%12.10f”,e);}实验要求:(1)阅读上面的程序,写出程序所依据的计算公式。e=1+1/1!+1/2!+1/3!+....+1/n!(2)当输入的detax各是什么值时,能分别使程序按下面的要求运行:a.不进入循环;>=1b.只循环一次;无此条件c.只循环两次;==1d.进入死循环(程序将永远循环下去)。<=04.
6、编写程序。对输入的任意的一个正整数按反序输出。例如,输入147,输出741。#include"stdio.h"voidmain(){intx,i;scanf("%d",&x);while(x!=0){i=x%10;x=x/10;printf("%d",i);}}任务2do-while语句程序设计5.求1!+2!+3!+4!+5!+6!+7!+8!+9!+10!请填空将下面的程序补充完整:答案:4037913#includemain(){intj,m,p,s;s=0;m=1;do{p=1;j=1;wh
7、ile(j<=m){p*=j;j++;}s=s+p;m++;}while(m<=10);这里是m<=10printf("s=%d",s);}6.编写程序。每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数总数达到不超过100的最大值,求每天平均花多少钱?答案:9.92#include"stdio.h"//要考虑到最后一天的苹果数不能计入总和,要减去。voidmain(){intx,sum,day;doubleave=0;x=2;day=1;sum=2;do{x=2*x;sum=
8、sum+x;day++;}while(sum<=100);ave=(sum-x)*0.8/(day-1);printf("%lf",ave);}实验四、 循环结构实验(2)【上机内容】1.分析并修改下面的程序,使该程序能正常结束运行。#includemain(){inti;for(i=1;i<10;i++)printf(“%d