C语言程序简单例子_第1页
C语言程序简单例子_第2页
C语言程序简单例子_第3页
C语言程序简单例子_第4页
C语言程序简单例子_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、实验二参考答案1 输入两个整型数字,输出他们的和。#i ncludemai n()int a, b, sum;scanf(%d%” &a, &b);sum=a+b;printf( a+b=%d, sum);2. 输入两个实型数,输出他们的和与乘积。#i ncludemai n()float a, b, sum, product;scanf(%f%”,&a, &b);sum=a+b;product=a*b;printf( a+b=%5.2f, a*b =%5.2f”sum, product);2 2b, c的值由键盘输入)3. 求方程ax 5x7=0的根(设b -4ac_0)(其中a,#i nc

2、lude#in cludemai n()float a, b, c, dt, x1, x2;scanf(%f%f%”,&a, &b, &c);dt=sqrt(b*b-4*a*c);x1=(-b+dt)/(2*a);x2=(-b-dt)/(2*a);printf(x仁 %5.2f, x2 =%5.2f ”,x1, x2);1(h和f的值由键4鸡兔同笼,已知鸡兔总头数为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

3、 ”,x, y);。3实验三参考答案1. 输入三个数a、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(“

4、%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) printf(等边三角型”);else if(c*c=a*a+b*b) printf(等腰直角三角形”);else printf(一般等腰三角形”);else if(c*c=a*a+b*b) printf(一般直角三角形”);else printf(一般三角形”);else printf(不构成三角形”);#i ncludemai n()float a,b,c,t;scanf( %

5、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(不构成三角形”);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= 2

6、x-1 (1-x:10)|3x-11| (x _10)#i nclude#in cludemai n()int x,y;prin tf(i nput x=:);scan f(%d, &x);if(x1) y=x;else if(x10) y=2*x-1;else y=abs(3*x-11);prin tf(x=%d y=%dn,x,y);4编写程序,输入一百分制成绩,对应输出等级A、B、C、DE,90分以上为A,80分一89分为B,70分一79分为C, 60分一69分为D, 60分以下为E。方法一:用if语句#i ncludemai n()float score;char grade;scan

7、 f(%f, &score);if(score100|score=90) grade=A;else if(score=80) grade=B;else if(score=70) grade=C;else if(score=60) grade=D;else grade=E;prin tf(the stude nt grade=%c n, grade);方法二:用switch语句。7注意, case 后的表达式必须是一个常量表达式,所以在以用 switch 语句之前,必须把 0100之间的成绩分别化成相关的常量。所有A (除100以外),B, C, D类的成绩的共同特点是十位数相同,此外都是E类。

8、则由此可得把score除十取整,化为相应的常数。 #includemain()float score,int s;char grade;scanf(%f, &score);s=score/10;if(s10) printf(ninput error!);elseswitch (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 =%c n , ch);

9、9实验四参考答案1 编写程序,计算以下级数前n项之和。sum = 1 xx2 /2! x3 /3! x4 /4!xn /n!#i ncludevoid main()int i, n;float 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.2”,sum);2编程打印如下图案(书后习题第 3题):*#include main ()int i, j, n;for(i=1; i=7; i+)for(j=0; j14-2*i; j+) prin tf();for(j=

10、0; j2*i; j+) prin tf(*);prin tf(n);3编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5) 11 2 11 2 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

11、(n);4输出 Fibonacci 方法一:数列第 n 项。其数列通项公式为 Fn=Fn-1+Fn-2 , F1=1, F2=1。#includemain()float f, 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 20 void main()int i;float fNUM=1,1;for(i = 2; i NUM; i+) fi = fi-2+fi-1;for(i = 0; i NUM; i+)

12、printf(%10.0f n, fi);。11实验五参考答案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输入任意 1 0个数,按从大到小或从小到大的顺序输出( “冒泡”排序)#include #define NUM 10void main ()int aNUM, i, j, temp, flag;printf (input %d n

13、umbers: 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;printf (the sorted numbers:n);for (i=0; iNUM; i+) printf (%d , ai);3输入 10 个整数并存放在一维数组中,找出其中最大值和此元素的下标 #include #define NUM 10void main() int aNUM;int i,max, in

14、dex;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 #define NUM 80 void main() char aNUM, temp;int i, j, index;for(i=0; iNUM;i+)scanf(%c,&ai);if(ai=n) break

15、;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(%c, ai);printf(n);1。13实验五参考答案2(请同学们用有返回值和1 .编写函数,求表达式X -5x 4的值,x有由主函数输入。 无返回值两种方式去做,练习简单的函定义、声明、及调用方法)有返回值#i nclude float fun( float x)float m ;m=x*x-5*x+4;return m ;void main()float a,

16、f;scanf(%f, &a);f=fun (a);prin tf(%f n, f);无返回值#include void fun( float x)float m ;m=x*x-5*x+4;prin tf(%f n, m);void main()float a;scanf(%f, &a);fun( a);2 编写函数,按如下递归公式求函数值。1 (n=0)fun(n)=心2 fun(n _ 1)1 (n0)#i nclude int fun (i nt n)int m;if(n=O) m=1;elsem=2*fu n(n-1)+1;return m;void main()int a, f;sc

17、an f(%d, & a);f=fun (a);prin tf(%d n, m);n由主函数输入3编写函数求数n所有质因子(所有为素数的因子)并输出,#include #in clude int prime(i nt m)int j;if (m = 1) return 0;else if (m = 2) retur n 1;else if (m%2=0) return 0;elsefor(j=3; j=sqrt(m); j+=2)if(m%j=0) return 0;return 1;17void main()int i,n,flag; scanf(%d,&n);for (i=1;i=n; i

18、+)if(n%i=0) flag=prime(i);else flag=0;if(flag=1) printf(%d n,i);4哥德巴赫猜想之一是,任何一个大于 5 的偶数都可以表示为两个素数之和。编写程 序验证这一论断。#include int prime(int m)int j;if (m = 1) return 0;else if (m = 2) return 1;else if (m%2=0) return 0;elsefor(j=3; j=sqrt(m); j+=2)if(m%j=0) return 0;return 1;main( )int a,b,c,n;scanf(%d, &

19、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 门课成绩,由主函数输入一个数,将所有总成 绩大于该数的学生输出。#include void max(float a53, float score)int i,j;float s;for(i=0;i5;i+)s=0;for(j=0; jscore)printf(stu%d: %.2fn, i+1, s);void main(

20、)int i,j;float a53;float score;printf(please input number:n);for(i=0; i5; i+)printf(stu%d:, i+1);for(j=0; j3; j+)scanf(%f,&aij);printf(n);printf(please input score:); scanf(%f, &score);max(a,score);实验七参考答案1用指针变量输出任意 4*4 矩阵各元素的值 (1)#include stdio.h void main()int i,a44=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1

21、; int *p=a;for(i=0;i4*4;i+) printf(%3d,*(p+i); if(i+1)%4=0) printf(n);(2)#include stdio.h void main()int a44=1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4; int (*p)4=a;int i,j; for(i=0;i4;i+) for(j=0;j4;j+) printf(%3d,*(*(p+i)+j);printf(n);printf(n);2有一个整型二维数组 amn ,找出最大值所在的行和列,以及该最大值 #include stdio.hvoid main()in

22、t a44=1,34,35,26,7,12,92,24,55,33,53,6,7,41,34,64;int (*p)4=a;int i,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); 3从键盘输入一字符串,求此字符串的长度并输出 #includeint str_len(char *p)int n=0;while(*p!=0)n+

23、;p+;return n;int main()char a100;int n;printf(Input a string:n); gets(a); n=str_len(a);printf(The lenth:%dn,n);4将字符串 str 中的小写字母全部改为大写字母,并输出该字符串 #include stdio.h void fun(char *p)int i; for(i=0;*(p+i)!=0;i+) if(*(p+i)=a&*(p+i)=z) *(p+i)=*(p+i)-32;void main()char str50;char *p=NULL;printf(Please input

24、 string:n);gets(str);p=str;fun(p);puts(str);实验八参考答案1. 编写程序:定义一个职工结构体类型,定义职工结构体变量,从键盘输入一名职工 信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、工资) #includestruct employeechar name20;char id20;int gl;int salary;int main()struct employee em; printf(Name:n);scanf(%s,);1。21printf(HM:n);scanf(%s,em.id);printf(GL:n);scan

25、f(%d,&em.gl);printf(GZ:n);scanf(%d,&em.salary);printf(Name:%s HM:%s GL:%d GZ:%dn,,em.id,em.gl,em.salary); return 0;2. 设计一个保存学生情况的结构体,学生情况包括姓名、学号、年龄。输入 5 个学生 的情况,输出学生的平均年龄和年龄最小的学生的情况#include struct Student char name100; /姓名char stdNo10; /学号int age; / 年龄;/ 输入学生信息void input (Student *stu, int n) printf(输入c个学生信息:,n);for (int i = 0; i

温馨提示

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

评论

0/150

提交评论