实验教材2-4答案.doc_第1页
实验教材2-4答案.doc_第2页
实验教材2-4答案.doc_第3页
实验教材2-4答案.doc_第4页
实验教材2-4答案.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二、选择结构【上机内容】1修改下列程序,使之满足当x为10时输出“= =”,否则输出“!=”的条件。 #includestdio.hmain()int x;scanf(%d,&x);if(x=10)printf(=n);else printf(!=n);2修改下列程序,使之实现以下功能:#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 printf(“a!=b”);3程序填空。从键盘输入任意一个字母,将其按小写字母输出。 #include main() char c; scanf(%c,&c); if (c=A&c=Z) 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_#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 (x1) y = 2x1 (1x10) 3x11 (x10) 编写程序输入x,输出y值。参考答案:#include stdio.hmain()int x,y; scanf (%d,&x); if (x1) y=x; else if(x10) y=2*x-1;elsey=3*x-11;printf (%d,y);8 输入一个百分制分数,要求输出对应的成绩等级:90100为A,8089为B,7079为C,6069为D,不及格为E。参考答案:#includemain() float score; printf(input socre:); scanf(f, &score); 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%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); else printf(%d为1位数,原数为%d,逆序数为%dn,x,x,c);任务2 switch语句程序设计【目的与要求】1.熟练掌握switch语句;2.掌握break语句在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);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.h”main() 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(x0) y=0;else if(x10) y=x;else if(x20) y=x+3;else if(x0) case 0 :y=0; break; case 1 : switch(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-5;break; printf(x=%d,y=%f,x1,y);5.假设奖金税率如下(ma代表奖金,tr代表税率), 利用switch语句编写程序对输入的一个奖金数,输出税率和应交税款以及实得奖金数(扣除奖金税后),ma1000 tr=0%1000ma2000 tr=5%2000ma=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);实验三、循环结构实验(1)任务1 while语句程序设计【目的与要求】1熟练掌握while语句2能用while语句实现各种算法1分析并修改下面的程序,使该程序能正常结束运行。 #include main() int x,y; x=2; y=0; while (!y-) printf (“%d,%dn”,x, y);2下列程序中,while循环的循环次数为_6_ #include main() int i=0; while(i=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.进入死循环(程序将永远循环下去)。 =detax,分别换成ydetax,y=detax,ydetax,y=detax,观察程序运行将会有什么变化。4编写程序。对输入的任意的一个正整数按反序输出。例如,输入147,输出741。参考答案:#include stdio.hvoid main()int x,i;scanf(%d,&x);while(x!=0) i=x%10; x=x/10;printf(%d,i);任务2 do-while语句程序设计【目的与要求】1熟练掌握do-while语句2能用do-while语句实现各种算法2掌握while语句和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 (“%dn”,x); 13下列程序中,do_while循环的循环次数为_无限次_ #include main() int i=0; do if(i=6) continue;i=i+2;while(i10); printf (“%dn”,i);4.运行下列程序,输出结果为_400_不加5的倍数的数_ #include main() int x=0,sum=0;do if(x=(x/5*5)continue;sum=sum+x;while (+x100); 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.92参考答案:#include stdio.hvoid main()int x,sum,day;double ave=0;x=2;day=1;sum=2;dox=2*x; sum=sum+x; day+;while(sum=100);ave=(sum-x)*0.8/(day-1);printf(%lf,ave);实验四、循环结构实验(2)任务1 for语句程序设计【目的与要求】1.熟练掌握for语句2.能用for语句实现各种算法3.掌握for语句的嵌套使用【上机内容】1分析并修改下面的程序,使该程序能正常结束运行。 #include main() int i; for(i=1;i10;i+) printf (“%dn”,i);2分析并修改下面的程序,使sum的值为1+2+10的和 #include main() int i=1;int sum=0; for(;i=10;i+) sum=sum+i; printf (“sum=%dn”,sum);3.运行下列程序,输出结果为_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.运行下列程序,输出结果为_50_ #include main() int i,sum=0; for(i=0;i=20;i+) if(i%5)!=0) continue; sum=sum+i; printf (sum=%dn,sum);5.运行下列程序,输出结果为_24_#include main() int i,j,sum=0; for(i=0;i=3;i+) for(j=0;j=5;j+); sum=sum+i*j; printf (sum=%dn,sum);6. 程序填空。求出1000以内能被13整除的最大数。#include main() int i; for(i=1000;i0;i-)if (i%13=0)break; printf(“n%d”,i); 7、程序填空。求Fibonacci 数列:1,1,2,3,5,8, 的前40个数,即: F1=1 ( n = 1 ) F2=1 ( n = 2 ) Fn= Fn-1 + Fn-2 ( n=3 )要求每一行输出8个数。参考答案: #include main( ) long f1, f2 ; int i ; f1=1 ; f2=1 ; for( i=1;i=20; i+ ) printf(%10ld%10ld ,f1, f2 ) ; if(i%4=0) printf( n ) ; f1 = f1 + f2 ; f2 = f2 + f1 ; 8程序填空。从键盘输入10个不为0的整型数,统计其中负数的个数,并求出所有正数的平均值。参考答案:#include main( ) int i, x, count=0 ; float ave=0 ; for( i=0; i0 ) ave +=x; else count+; if( count != 10 ) ave /= 10-count; printf(count:%d,Average:%fn,count,ave ) ;9帕多瓦数列:1,1,1,2,2,3,4,5,7,9,12,16,21,求出这个数列的前20项之和。 答案为:614参考答案:#include main( ) int f1,f2,f3,f,i; long sum=3; f1=f2=f3=1; for(i=4;i=20;i+) f=f1+f2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论