当前位置:文档之家› C语言实验参考答案

C语言实验参考答案

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。

实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include <stdio.h>main(){float x,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输出平均值。

#include <stdio.h>main(){int a,b,he,cha,yu;long ji;float shang,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。

#include <stdio.h>main(){int a;char c;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。

输入半径,计算球体表面积(24rS⋅=π)和球体积(334rV⋅=π)。

#include <stdio.h>#define PI 3.1415926main(){float r,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。

#include <stdio.h>main()long c;char d,ch[6];float e;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中,试编程输出其中的最小值。

#include <stdio.h>main(){int a,b,c,min;printf(“a,b,c=”);scanf(“%d,%d,%d”,&a,&b,&c);min=a>b?(b>c?c:b):(a>c?c:a);printf(“min=%d\n”,min);}2、输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。

(例如:输入F,输出f,输入b,输出B,输入7,输出7)。

#include <stdio.h>{char c,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,1x x x y 。

⑴用条件表达式求函数值y 。

⑵用if 语句编程,输入x ,输出y ,并给出你所使用的测试用例。

解(1)#include <stdio.h> main() {int y; float x; printf(“x=”);scanf(“%f”,&x);y=x>0?1:(x==0?0:-1);printf(“y=%d\n”,y);}解(2)#include <stdio.h>main(){int y;float x;printf(“x=”);scanf(“%f”,&x);if(x>0)y=1;else if(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)#include <stdio.h>main(){int cj;printf(“cj=”);scanf(“%d”,&cj);if(cj>=90&&cj<=100)printf(“A\n”);else if(cj>=80&&cj<90)printf(“B\n”);else if(cj>=70&&cj<80)printf(“C\n”);else if(cj>=60&&cj<70)printf(“D\n”);else if(cj>=0&&cj<60)printf(“E\n”);elseprintf(“输入错误\n”);}解(2)#include <stdio.h>main(){int cj,n;printf(“cj=”);scanf(“%d”,&cj);n=(cj>=0)+(cj>=60)+(cj>=70)+(cj>=80)+(cj>=90)+(cj>100); switch(n){case 5:printf(“A\n”);break;case 4:printf(“B\n”); break;case 3:printf(“C\n”); break;case 2:printf(“D\n”); break;case 1:printf(“E\n”); break;default:printf(“输入错误\n”);}}实验六1、编程:输出200以内所有能被7整除的数。

#include <stdio.h>main(){int i;for(i=0;i<=200;i+=7)printf(“%4d”,i);}2、从键盘输入n个数(n<10),找出其中最小值,请编写相应程序。

#include <stdio.h>main(){int n,i,a,min;printf(“n=”);scanf(“%d”,&n);for(i=1;i<=n;i++){scanf(“%d”,&a);if(i==1)min=a;if(min>a)min=a;}printf(“min=%d”,min);}3、键盘输入正整数m和n(m<n),计算m~n之间所有奇数之和x与偶数之和y,请编程实现。

#include <stdio.h>main(){int m,n,i,x1=0,x2=0;printf(“input m,n(m<n):”);scanf(“%d,%d”,&m,&n);for(i=m;i<=n;i++)if(i%2==1)x1+=i;else x2+=i;printf(“x1(奇数之和)=%d,x2(偶数之和)=%d\n”,x1,x2);}实验七1、打印出所有的"水仙花数",所谓的"水仙花数"是指一个3位数,其各位数字的立方和等于该数本身。

例如,153是一个"水仙花数",因为有153=1*1*1+5*5*5+3*3*3 。

解(1)#include <stdio.h>main(){int a,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)#include <stdio.h>main(){int a,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)#include <stdio.h>main(){int n,i;long p=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)#include <stdio.h>main(){int n,i=1;long p=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)#include <stdio.h>main(){int n,i=1;long p=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等).。

相关主题