《C语言程序简单例子》由会员分享,可在线阅读,更多相关《C语言程序简单例子(32页珍藏版)》请在金锄头文库上搜索。
1、实验二参考答案1 .输入两个整型数字,输出他们的和。#includemain()inta,b,sum;scanf(d%d,&a,&b);sum=a+b;printf(a+b=%dUm);2 .输入两个实型数,输出他们的和与乘积。#includemain()floata,b,sum,product;scanf(f%f“,&a,&b);sum=a+b;product=a*b;printf(a+b=%5.2*b=%5.2f”,sum,product);3 .求方程的根(设)(其中a,b,c的值由键盘输入)#include#includemain()floata,b,c,dt,x1,x2;scanf(
2、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.X2=%5.2f”,x1,x2);4 .鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?(h和f的值由键盘输入,输出鸡和兔的头数)#includemain()inth,f,x,y;scanf(d%d,&h,&f);x=2*h-f/2;y=f/2-h;printf(x=%d=%d”,x,y);实验三参考答案1 .输入三个数a、b、c,要求按由小到大的顺序输出#includemain()floata,b,c,t;scanf(f
3、,%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 .编写程序,输入三角形xxa、b、c,判断a、b、c能否构成三角形,若能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。#includemain()floata,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;if(a+bc)if(a=b|b=c)if(a=c)pr
4、intf(等边三角型”);elseif(c*c=a*a+b*b)printf(等腰直角三角形);elseprintf(一般等腰三角形”);elseif(c*c=a*a+b*b)printf(一般直角三角形”);elseprintf(一般三角形”);elseprintf(不构成三角形”);#includemain()floata,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;if(a+b=c)printf(不构成主角形”);elseif(a=b&b=c&a=c)printf
5、(等边三角型u);elseif(a=b&c*c=a*a+b*b)printf(等腰直角三角形”);elseif(a=b)printf(一般等腰三角形”);elseif(c*c=a*a+b*b)printf(一般直角三角形);elseprintf(一般三角形”);3 .编程实现下列函数x(x1)y=2x-1()|3x-11|()#include#includemain()intx,y;printf(inputx=:);scanf(%d,&x);if(x1)y=x;elseif(x10)y=2*x-1;elsey=abs(3*x-11);printf(x=%dy=%dn,x,y);4 .编写程序,
6、输入一百分制成绩,对应输出等级A、B、C、D、E,90分以上为A,80分一89分为B,70分一79分为C,60分一69分为D,60分以下为E。方法一:用if语句#includemain()floatscore;chargrade;scanf(%f,&score);if(score100|score=90)grade=A;elseif(score=80)grade=B;elseif(score=70)grade=C;elseif(score=60)grade=D;elsegrade=E;printf(thestudentgrade=%cn,grade);方法二:用switch语句。注意,case
7、后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0100之间的成绩分别化成相关的常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。#includemain()floatscore,ints;chargrade;scanf(%f,&score);s=score/10;if(s10)printf(ninputerror!);elseswitch(s)case10:case9:grade=A;break;case8:grade=B;break;case7:grade=C;break;case6:
8、grade=D;break;default:grade=E;printf(thestudentgrade=%cn,ch);实验四参考答案1 .编写程序,计算以下级数前nxx和。#includevoidmain()inti,n;floats=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(asum=%5.2Sum);2 .编程打印如下图案(书后习题第3题):*#includemain()inti,j,n;for(i=1;i=7;i+)for(j=0;j14-2*i;j+)printf();for(j
9、=0;j2*i;j+)printf(*);printf(n);3 .编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5)1 / 321232112343211234543211234321123211211#includemain()inti,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-2F1=1,F21。方法一
10、:#includemain()floatf,f1=1,f2=1;inti,n;scanf(%d,&n);for(i=3;i=n;i+)f=f1+f2;f1=f2;f2=f;printf(%10.0fn,f);方法二:#include#defineNUM20voidmain()inti;floatfNUM=1,1;for(i=2;iNUM;i+)fi=fi-2+fi-1;for(i=0;iNUM;i+)printf(%10.0fn,fi);实验五参考答案1 .编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c#includevoidm
11、ain()inta3=1,2,3,b3=4,5,6,c3;inti;for(i=0;i3;i+)ci=ai+bi;printf(%d,ci);2 .输入任意10个数,按从大到小或从小到大的顺序输出(冒泡”排序)#include#defineNUM10voidmain()intaNUM,i,j,temp,flag;printf(input%dnumbers:n,NUM);for(i=0;iNUM;i+)scanf(%d”,&ai);for(i=1;iNUM;i+)for(j=0;jaj+1)temp=aj;aj=aj+1;aj+1=temp;flag=1;if(flag=0)break;prin
12、tf(thesortednumbers:n);for(i=0;iNUM;i+)printf(%d,ai);3 .输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标#include#defineNUM10voidmain()intaNUM;inti,max,index;for(i=0;iNUM;i+)scanf(%d”,&ai);max=a0;for(i=0;iNUM;i+)if(maxai)max=ai;index=i;printf(max=%d,index=%d,max,index);4.将从键盘输入的字符串进行逆序输出,逆序后的字符串仍然保留在原来字符数组中。(不得调用任何字符串处理函数包括strlen)#include#defineNUM80voidmain()charaNUM,temp