《C语言程序简单例子(2)》由会员分享,可在线阅读,更多相关《C语言程序简单例子(2)(18页珍藏版)》请在金锄头文库上搜索。
1、实验二参考答案1输入两个整型数字,输出他们的和。#includemain() int a,b, sum;scanf(“%d%d”,&a,&b);sum=a+b;printf(“a+b=%d”, sum);2输入两个实型数,输出他们的和与乘积。#includemain() float a,b, sum, product;scanf(“%f%f”,&a,&b); sum=a+b; product=a*b;printf(“a+b=%5.2f, a*b=%5.2f”, sum, product);3求方程的根(设)(其中a,b,c的值由键盘输入)。#include#includemain() floa
2、t a,b, c, dt, x1, x2;scanf(“%f%f%f”,&a,&b, &c); dt=sqrt(b*b-4*a*c); x1=(-b+dt)/(2*a); x2=(-b-dt)/(2*a);printf(“x1=%5.2f, x2=%5.2f”, x1, x2);4鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)#includemain() int h, f, x,y;scanf(“%d%d”,&h,&f);x=2*h-f/2;y=f/2-h;printf(“x=%d, y=%d”, x, y);实验三参考答案1.输入三个数a
3、、b、c,要求按由小到大的顺序输出。#includemain()float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);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(“%f,%f,%f”,a,b,c);2编写程序,输入三角形三边 a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。(1)#includemain()float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(ab) t=a; a=b
4、; b=t; if(ac) t=a; a=c; c=t;if(bc) t=b; b=c; c=t;if(a+bc) if(a=b|b=c) if(a=c) printf(“等边三角型”);else if(c*c=a*a+b*b)printf(“等腰直角三角形”);else printf(“一般等腰三角形”);else if(c*c=a*a+b*b)printf(“一般直角三角形”);else printf(“一般三角形”);elseprintf(“不构成三角形”);(2)#includemain()float a,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(ab)
5、t=a; a=b; b=t; if(ac) t=a; a=c; c=t;if(bc) t=b; b=c; c=t;if(a+b=c) printf(“不构成三角形”);else if(a=b & b=c & a=c)printf(“等边三角型”);else if(a=b &c*c=a*a+b*b)printf(“等腰直角三角形”); else if (a=b) printf(“一般等腰三角形”);else if(c*c=a*a+b*b) printf(“一般直角三角形”); else printf(“一般三角形”);3编程实现下列函数 x (x1) y= 2x-1 () |3x-11| ()#
6、include#includemain()int x,y; printf(input x=:); scanf(%d,&x); if(x1) y=x; else if(x10) y=2*x-1;else y=abs(3*x-11);printf(x=%d y=%dn,x,y);4编写程序,输入一百分制成绩,对应输出等级A、B、C、D、E,90分以上为A,80分89分为B,70分79分为C,60分69分为D,60分以下为E。方法一:用if语句#includemain() float score;char grade;scanf(%f,&score);if(score100|score=90)gra
7、de=A;elseif(score=80) grade=B;elseif(score=70) grade=C;elseif(score=60) grade=D;else grade=E;printf(the student grade=%cn,grade); 方法二:用switch语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。#includemain()float score,int s
8、;char grade;scanf(%f,&score);s=score/10;if(s10)printf(ninput error!);else switch (s)case 10:case 9: grade =A; break;case 8: grade =B; break;case 7: grade =C; break;case 6: grade =D; break;default: grade =E; printf(the student grade =%cn,ch); 实验四参考答案1编写程序,计算以下级数前n项之和。#includevoid main() int i, n; flo
9、at s=1.0, sum=1.0, x;scanf(“%d, %f”, &n, &x);for(i=1; i=n; i+)s=s*x/i;sum=sum+s; printf(“sum=%5.2f”,sum);2编程打印如下图案(书后习题第3题): * * * *#include main( ) int i, j, n; for(i=1; i=7; i+) for(j=0; j14-2*i; j+) printf( ); for(j=0; j2*i; j+) printf(*); printf(n); 3编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5) 11 2 11 2
10、3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 11 #include main( ) int i, j,n;scanf(%d,&n); for(i=1; in; i+) for(j=1;j0; j-) printf( %d, j);printf(n); for(i=n; i0; i-) for(j=1;j0; j-) printf( %d, j);printf(n); 4输出Fibonacci数列第n项。其数列通项公式为Fn=Fn-1+Fn-2,F1=1,F2=1。方法一:#includemain()float f,
11、f1=1, f2=1; int i, n;scanf(%d, &n);for(i=3; i=n; i+) f=f1+f2; f1=f2; f2=f; printf(%10.0f n, f ); 方法二:#include #define NUM 20void main() int i; float fNUM=1,1; for(i = 2; i NUM; i+) fi = fi-2+fi-1; for(i = 0; i NUM; i+) printf(%10.0f n, fi); 实验五参考答案1编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c#include void main()int a3=1,2,3, b3=4,5,6, c3;int i;for(i=0;i3;i+)ci=ai+bi;printf(%d,ci);2输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序)#include #define NUM 10void main ()int aNUM, i, j, temp, flag;printf (input %d numbers: n, NU