C语言程序简单例子_第1页
C语言程序简单例子_第2页
C语言程序简单例子_第3页
免费预览已结束,剩余14页可下载查看

下载本文档

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

文档简介

1、实验二参考答案1.输入两个整型数字,输出他们的和。#includemain()(inta,b,sum;scanf(d%d”,&a,&b);sum=a+b;2. printf(a+b=%d”,sum);输入两个实型数,输出他们的和与乘积。#includemain()(floata,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.求方程ax2+bx+c=0的根(设b2-4*H)(其中a,b,c的值由键盘输入)#include#includemain()(flo

2、ata,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()(inth,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、b、c,要求按由小到大的顺序输出。#includemain(

3、)(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;2. printf(%f,%f,%f”,a,b,c);编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。(1)#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

4、;b=c;c=t;if(a+bc)(if(a=b|b=c)(if(a=c)printf(等边三角型”);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

5、=c)printf(不构成三角形”);elseif(a=b&b=c&a=c)printf(等边三角型”);elseif(a=b&c*c=a*a+b*b)printf(等腰直角三角形”);elseif(a=b)printf(乙股等腰三角形”);elseif(c*c=a*a+b*b)printf(。般直角三角形”);elseprintf(。般三角形”);编程实现下列函数x(x1)y=2x-1(1x:10)#include#includemain()intx,y;printf(inputx=:);scanf(%d,&x);if(x1)y=x;elseif(x10)y=2*x-1;elsey=abs(

6、3*x-11);3. printf(x=%dy=%dn”,x,y);编写程序,输入一白分制成绩,对应输出等级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(thestuden

7、tgrade=%cn,grade);方法二:用switch语句。注意,case后的表达式必须是一个常量表达式,所以在以用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:g

8、rade=B;break;case7:grade=C;break;case6:grade=D;break;default:grade=E;printf(thestudentgrade=%cn,ch);实验四参考答案1.编写程序,计算以下级数前n项之和。sum1xx2/2!x3/3!x4/4!.xn/n!#includevoidmain()inti,n;floats=1.0,sum=1.0,x;scanf(%d,%f”,&n,&x);for(i=1;i=n;i+)2. s=s*x/i;sum=sum+s;printf(sum=%5.2f,sum);编程打印如下图案(书后习题第3题):*#incl

9、udemain()inti,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,输出如下所示由数字组成的菱形。(图中11211232112343211234543211234321123211211n=5)#includemain()(inti,j,n;scanf(%d,&n);for(i=1;in;i+)(for(j=1;j0;j-)printf(n);printf(%d,j);printf(%d,j);for(i=n;i0;i-)(for(j=1;j

10、0;j-)printf(n);printf(%d,j);printf(%d,j);4.输出Fibonacci数列第n项。其数列通项公式为Fn=Fn-1+Fn-2,F1=1,方法一:#includemain()(floatf,f1=1,f2=1;inti,n;scanf(%d,&n);F2=1for(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+)pr

11、intf(%10.0fn,fi);1.编写程序,将1,2,3这三个数赋给数组a,将5,6,7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c#includevoidmain()inta3=1,2,3,b3=4,5,6,c3;inti;for(i=0;i3;i+)ci=ai+bi;printf(%d,ci);输入任意10个数,按从大到小或从小到大的顺序输出(“冒泡”排序)#include#defineNUM10voidmain()intaNUM,i,j,temp,flag;printf(input%dnumbers:n,NUM);for(i=0;iNUM;i+)scanf(%d,&ai

12、);for(i=1;iNUM;i+)for(j=0;jaj+1)temp=aj;aj=aj+1;aj+1=temp;flag=1;if(flag=0)break;printf(thesortednumbers:n);for(i=0;iNUM;i+)printf(%d,ai);输入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;p

13、rintf(max=%d,index=%d”,max,index);将从键盘输入的字符申进行逆序输出,逆序后的字符申仍然保留在原来字符数组中(不得调用任何字符申处理函数包括strlen)#include#defineNUM80voidmain()charaNUM,temp;inti,j,index;for(i=0;iNUM;i+)scanf(%c,&ai);if(ai=n)break;ai=0;index=i;for(i=0,j=index-1;i=index/2;i+,j-)temp=ai;ai=aj;aj=temp;for(i=0;iNUM;i+)if(ai=0)break;printf(

14、%c,ai);printf(n);21.编写函数,求表达式x-5x+4的值,x有由主函数输入。(请同学们用有返回值和无返回值两种方式去做,练习简单的函定义、声明、及调用方法)有返回值#includefloatfun(floatx)(floatm;m=x*x-5*x+4;returnm;voidmain()(floata,f;scanf(%f,&a);f=fun(a);printf(%fn,f);无返回值#includevoidfun(floatx)(floatm;m=x*x-5*x+4;printf(%fn,m);voidmain()(floata;scanf(%f,&a);fun(a);2.

15、 编写函数,按如下递归公式求函数值。1(n=0)fun(n)=v2fun(n-1)1(n0)#includeintfun(intn)(intm;if(n=0)m=1;elsem=2*fun(n-1)+1;returnm;voidmain()(inta,f;scanf(%d”,&a);f=fun(a);printf(%dn,m);编写函数求数n所有质因子(所有为素数的因子)并输出,n由主函数输入#include#includeintprime(intm)(intj;if(m=1)return0;elseif(m=2)return1;elseif(m%2=0)return0;elsefor(j=3

16、;j=sqrt(m);j+=2)if(m%j=0)return0;return1;voidmain()(inti,n,flag;scanf(%d,&n);for(i=1;i=n;i+)(if(n%i=0)flag=prime(i);elseflag=0;if(flag=1)printf(%dn,i);4.哥德巴赫猜想之一是,任何一个大于5的偶数都可以表示为两个素数之和。编写程序验证这一论断。#includeintprime(intm)(intj;if(m=1)return0;elseif(m=2)return1;elseif(m%2=0)return0;elsefor(j=3;j=sqrt(m

17、);j+=2)if(m%j=0)return0;return1;main()(inta,b,c,n;scanf(%d,&n);for(a=6;a=n;a+=2)for(b=3;b=a/2;b+=2)if(prime(b)=1)(c=a-b;if(prime(c)=1)(printf(%d=%d+%dn,a,b,c);break;5.二维数组score中存放5个学生的3门课成绩,由主函数输入一个数,将所有总成绩大于该数的学生输出。#includevoidmax(floata53,floatscore)(inti,j;floats;for(i=0;i5;i+)(s=0;for(j=0;jscore

18、)printf(stu%d:%.2fn,i+1,s);voidmain()(inti,j;floata53;floatscore;printf(pleaseinputnumber:n);for(i=0;i5;i+)(printf(stu%d:,i+1);for(j=0;j3;j+)scanf(%f,&aij);printf(pleaseinputscore:);scanf(%f,&score);max(a,score);实验七参考答案1.用指针变量输出任意4*4矩阵各元素的值#includestdio.hvoidmain()inti,a44=1,1,1,1,1,1,1,1,1,1,1,1,1,

19、1,1,1;int*p=a;for(i=0;i4*4;i+)printf(%3d,*(p+i);if(i+1)%4=0)printf(n);#includestdio.hvoidmain()inta44=1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4;int(*p)4=a;inti,j;for(i=0;i4;i+)for(j=0;j4;j+)printf(%3d,*(*(p+i)+j);printf(n);2.有一个整型二维数组amn,找出最大值所在的行和列,以及该最大值#includestdio.hvoidmain()inta44=1,34,35,26,7,12,92,24,

20、55,33,53,6,7,41,34,64;int(*p)4=a;inti,j,x,y,max;max=a00;for(i=0;i4;i+)for(j=0;j4;j+)printf(%3d,*(*(p+i)+j);if(max*(*(p+i)+j)max=*(*(p+i)+j);x=i;y=j;printf(n);printf(nmax=%dnx=%dny=%dn,max,x,y);从键盘输入一字符申,求此字符申的长度并输出#includeintstr_len(char*p)intn=0;while(*p!=0)n+;p+;returnn;intmain()chara100;intn;prin

21、tf(Inputastring:n);gets(a);n=str_len(a);printf(Thelenth:%dn”,n);将字符申str中的小写字母全部改为大写字母,并输出该字符申#includestdio.hvoidfun(char*p)inti;for(i=0;*(p+i)!=0;i+)if(*(p+i)=a&*(p+i)=z)*(p+i)=*(p+i)-32;voidmain()charstr50;char*p=NULL;printf(Pleaseinputstring:n);gets(str);p=str;fun(p);puts(str);实验八参考答案编写程序:定义一个职工结构

22、体类型,定义职工结构体变量,从键盘输入一名职工信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、工资)#includestructemployeecharname20;charid20;intgl;intsalary;intmain()structemployeeem;printf(Name:n);scanf(%s,);printf(HM:n);scanf(%s,em.id);printf(GL:n);scanf(%d,&em.gl);printf(GZ:n);scanf(%d,&em.salary);printf(Name:%sHM:%sGL:%dGZ:%dn,,em.id,em.gl,em.salary);return0;设计一个保存学生情况的结构体,学生情况包括姓名、学号、年龄。输入5个学生的情况,输出学生的平均年龄和年龄最小的学生的情况#includestructStudentcharname100;/姓名charstdNo10;/学号i

温馨提示

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

评论

0/150

提交评论