C语言实验参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14三编程题)。实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。#includestdio.hmain(){floatx,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。#includestdio.hmain(){inta,b,he,cha,yu;longji;floatshang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);he=a+b;cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。例如,输入整数5,程序运行后输出字符5。#includestdio.hmain(){inta;charc;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。输入半径,计算球体表面积(24rS)和球体积(334rV)。#includestdio.h#definePI3.1415926main(){floatr,s,v;printf(“r=”);scanf(“%f”,&r);s=4*PI*r*r;v=4/3.0*PI*r*r*r;printf(“s=%f,v=%f\n”,s,v);}3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。这六个变量的值分别为:10,-10,40000,a,3.14,hello。#includestdio.hmain(){inta,b;longc;chard,ch[6];floate;scanf(“%d,%d,%ld,%c,%f,%s”,&a,&b,&c,&d,&e,ch);printf(“%d,%d,%ld,%c,%f,%s\n”,a,b,c,d,e,ch);}实验四1、输入三个整数,分别存放到变量a,b,c中,试编程输出其中的最小值。#includestdio.hmain(){inta,b,c,min;printf(“a,b,c=”);scanf(“%d,%d,%d”,&a,&b,&c);min=ab?(bc?c:b):(ac?c:a);printf(“min=%d\n”,min);}2、输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。(例如:输入F,输出f,输入b,输出B,输入7,输出7)。#includestdio.hmain(){charc,ch;c=getchar();ch=c;if(c=‘A’&&c=‘Z’)ch=c+32;if(c=‘a’&&c=‘z’)ch=c-32;putchar(ch);}实验五1、函数0,10,00,1xxxy。⑴用条件表达式求函数值y。⑵用if语句编程,输入x,输出y,并给出你所使用的测试用例。解(1)#includestdio.hmain(){inty;floatx;printf(“x=”);scanf(“%f”,&x);y=x0?1:(x==0?0:-1);printf(“y=%d\n”,y);}解(2)#includestdio.hmain(){inty;floatx;printf(“x=”);scanf(“%f”,&x);if(x0)y=1;elseif(x==0)y=0;elsey=-1;printf(“y=%d\n”,y);}2、试编程输入成绩cj(cj为整型变量),如果cj的值在[100,90]内输出A,在(90,80]内输出B,在(80,70]内输出C,在(70,60]内输出D,在(60,0]内输出E,其它输出错误信息。请使用if语句和switch语句分别实现。解(1)#includestdio.hmain(){intcj;printf(“cj=”);scanf(“%d”,&cj);if(cj=90&&cj=100)printf(“A\n”);elseif(cj=80&&cj90)printf(“B\n”);elseif(cj=70&&cj80)printf(“C\n”);elseif(cj=60&&cj70)printf(“D\n”);elseif(cj=0&&cj60)printf(“E\n”);elseprintf(“输入错误\n”);}解(2)#includestdio.hmain(){intcj,n;printf(“cj=”);scanf(“%d”,&cj);n=(cj=0)+(cj=60)+(cj=70)+(cj=80)+(cj=90)+(cj100);switch(n){case5:printf(“A\n”);break;case4:printf(“B\n”);break;case3:printf(“C\n”);break;case2:printf(“D\n”);break;case1:printf(“E\n”);break;default:printf(“输入错误\n”);}}实验六1、编程:输出200以内所有能被7整除的数。#includestdio.hmain(){inti;for(i=0;i=200;i+=7)printf(“%4d”,i);}2、从键盘输入n个数(n10),找出其中最小值,请编写相应程序。#includestdio.hmain(){intn,i,a,min;printf(“n=”);scanf(“%d”,&n);for(i=1;i=n;i++){scanf(“%d”,&a);if(i==1)min=a;if(mina)min=a;}printf(“min=%d”,min);}3、键盘输入正整数m和n(mn),计算m~n之间所有奇数之和x与偶数之和y,请编程实现。#includestdio.hmain(){intm,n,i,x1=0,x2=0;printf(“inputm,n(mn):”);scanf(“%d,%d”,&m,&n);for(i=m;i=n;i++)if(i%2==1)x1+=i;elsex2+=i;printf(“x1(奇数之和)=%d,x2(偶数之和)=%d\n”,x1,x2);}实验七1、打印出所有的水仙花数,所谓的水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为有153=1*1*1+5*5*5+3*3*3。解(1)#includestdio.hmain(){inta,b,c,n;for(a=1;a=9;a++)for(b=0;b=9;b++)for(c=0;c=9;c++){n=100*a+10*b+c;if(n==a*a*a+b*b*b+c*c*c)printf(“%d\n”,n);}}解(2)#includestdio.hmain(){inta,b,c,n;for(n=100;n=999;n++){a=n/100;b=n%100/10;c=n%10;if(n==a*a*a+b*b*b+c*c*c)printf(“%d\n”,n);}}2、请分别用三种循环结构编程计算:1!+2!+3!+...+n!,n的值由键盘输入。解(1)#includestdio.hmain(){intn,i;longp=1,sum=0;printf(“n=”);scanf(“%d”,&n);for(i=1;i=n;i++){p*=i;sum+=p;}printf(“1!+2!+…+%d!=%ld\n”,n,sum);}解(2)#includestdio.hmain(){intn,i=1;longp=1,sum=0;printf(“n=”);scanf(“%d”,&n);while(i=n){p*=i;sum+=p;i++;}printf(“1!+2!+…+%d!=%ld\n”,n,sum);}解(3)#includestdio.hmain(){intn,i=1;longp=1,sum=0;printf(“n=”);scanf(“%d”,&n);do{p*=i;sum+=p;i++;}while(i=n);printf(“1!+2!+…+%d!=%ld\n”,n,sum);}实验八1、打印输出由1,2,3,4四个数字组成的4位数,并统计它的个数(允许该4位数中有相同的数字,例如:1111,1122,,1212等).。#includestdio.hmain(){intn,a,b,c,d,num=0;for(a=1;a=4;a++)for(b=1;b=4;b++)for(c=1;c=4;c++)for(d=1;d=4;d++){n=1000*a+100*b+10*c+d;printf(“%5d”,n);num++;}printf(“\nnum=%d\n”,num);}2、从键盘输入10个正整数进行求和,如果错误地输入了负数,则求和结束。请分别用break和不用break编写相应程序。解(1)用break编写程序#includestdio.hmain(){inti,n,sum=0;for(i=1;i=10;i++){scanf(“%d”,&n);if(n=0)sum+=n;elsebreak;}printf(“sum=%d”,sum);}解(2)不用break编写程序#includestdio.hmain(){inti=1,n=0,sum=0;while(i=10&&n=0){scanf(“%d”,&n);if(n=0)sum+=n;i++;}printf(“sum=%d”,sum);}实验九1、求一个3×3的整数矩阵的副对角线上所有奇数的和sum2。#includestdio.hmain(){inta[3][3],sum2=0,i,j;for(i=0;i3;i++)for(j=0;j3;j++){scanf(“%d”,&a[i][j]);if(i+j==2&&a[i][j]%2)sum2+=a[i][j];}printf(“sum2=%d”,sum2);}2、输入一个正整数n(1n≤10),再输入n个整数,请编程实现:⑴输出这些数的平均值(保留2位小数)。⑵把这些数逆序后再输出。⑶输出它们中的最大值及其下标(设最大值唯一,下标从0开始)。⑷将它们中的最小值与第一个数交换,最大值与最后一个数交换,然后输出交换后的n个数。#includestdio.hmain(){inta[10],n,min,max,xb0,xb1,i,sum,t;floataver;printf(“n=”);scanf(“%d”,&n);for(i=0;in;i++)scanf(“%d”,&a[i]);min=a[0];xb0=0;max=a[0];xb1=0;sum=a[0];for(i=1;in;i++){if(mina[i]){min=a[i];xb0=i;};if(maxa[i]){max=a[i];xb1=i;};sum+=a[i];}ave

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功