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

下载本文档

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

文档简介

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

2、cludemain ()float 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.22 =%5.2f ” , x1, x2);4. 鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只? ( h和f的值由键盘输入,输出鸡和兔的头数)#i ncludemain ()int h, f, x,y;scanf(“ %d%d , &h, &f);x=2*h-f/2;y=f/2-h;printf( “ x=%d=%

3、d ” , x, y);实验三参考答案1输入三个数a、b、c,要求按由小到大的顺序输出#in cludemain ()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. 编写程序,输入三角形xx a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三 角形。(1)#i ncludemain ()float a,b,c,t;sc

4、anf( “ 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(不构成三角形”);#in cludemain ()float a,b,c,t;sca

5、nf(“ 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

6、= 2x-1()|3x-11|()#in clude#in cludemain ()int x,y;prin tf(i nput x=:);sca nf(%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、D、E, 90分以上为A, 80分一89分为B, 70分一79分为C, 60分一69分为D, 60分以下为E。方法一:用if语句#i ncludemain ()float score;char grade;sca nf(%f

7、, &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语句。注意,case后的表达式必须是一个常量表达式,所以在以用switch语句之前,必须把0100之间的成绩分别化成相关的常量。所有 A (除100以外), B,C, D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十

8、取整,化为相应的常数。#in cludemain ()float score, ints;char grade;sca nf(%f, &score);s=score/10;if(s10)prin tf(nin put error!);elseswitch (s)case 10:case9:grade =A;break;case8:grade =B;break;case7:grade =C;break;case6:grade =D;break;default: grade =E;prin tf(the stude nt grade =%c n , ch);实验四参考答案1. 编写程序,计算以下级

9、数前nxx和。#in cludevoid mai n()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.2sum);2. 编程打印如下图案(书后习题第 3题):*#i nclude main ()int i, j, n;for(i=1; i=7;i+)for(j=0; j14-2*i;j+)prin tf();for(j=0; j2*i; j+)pri ntf(*);prin tf(n);3. 编写程序实现输入整数n,

10、输出如下所示由数字组成的菱形。(图中n=5)10 / 321 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#in elude main ()int i, j,n;sca nf(%d, &n);for(i=1; in; i+)for(j=1; j0; j-)pri ntf(” %d, j);prin tf(n);for(i=n; i0;i-)for(j=1; j0; j-)pri ntf(” %d, j);prin tf(n);4 .输出Fibonacci数列第n项。其数列通项公式为 Fn=Fn-1+

11、Fn-2 F1=1, F21。方法一:#in cludemain ()floatf, f仁1, f2=1;int i, n;sca nf(%d, &n);for(i=3; i二n; i+)f=f1+f2;f1=f2;f2=f;prin tf(%10.0f n, f );方法二:#i nclude #define NUM 20void mai n()int i;float fNUM=1,1;for(i = 2; i NUM; i+)fi = fi-2+fi-1;for(i = 0; i NUM; i+)prin tf(%1O.Of n, fi);实验五参考答案1.编写程序,将1, 2, 3这三个

12、数赋给数组a,将5, 6, 7赋给数组b,将两数组对应元素相加的和赋给数组c,输出数组c#i nclude void mai n()int a3=1,2,3, b3=4,5,6, c3;int i;for(i=0;i3;i+)ci=ai+bi;prin tf(%d,ci);冒泡”排序)2 .输入任意10个数,按从大到小或从小到大的顺序输出(#in elude #defi ne NUM 10void mai n ()int aNUM, i, j, temp, flag;printf (i nput %d numbers: n, NUM);for (i=0; ivNUM; i+)scanf (%d

13、, & 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 nu mbers:n);for (i=0; ivNUM; i+)printf (%d , ai);3.输入10个整数并存放在一维数组中,找出其中最大值和此元素的下标#in clude #defi ne NUM10void mai n() int aNUM;int i,max, in dex;for(i=0; iNUM;i+)sca nf(%d, &ai);max=

14、a0;for(i=0; iNUM;i+)if(maxai)max=ai;in dex=i;prin tf(max=%d,in dex=%d, max, in dex);4.将从键盘输入的字符串进行逆序输出,逆序后的字符串仍然保留在原来 字符数组中。(不得调用任何字符串处理函数包括strlen)#i nclude #define NUM 80void mai n() char aNUM, temp;int i, j, i ndex;for(i=0; iNUM;i+)sca nf(%c,&ai);if(ai=n) break;ai=0:in dex=i;for(i=0, j=i ndex-1; i

15、=i ndex/2; i+, j-)temp二ai;ai=aj;aj=temp;for(i=0; ivNUM; i+)if(ai=O) break;prin tf(%c, ai);prin tf(n);实验五参考答案1.编写函数,求表达式的值,x有由主函数输入。(请同学们用有返回值 和无返回值两种方式去做,练习简单的函定义、声明、及调用方法)有返回值#i nclude float fun(float x)float m ;m=x*x-5*x+4;retur nm ;void mai n()float a, f;sea nf(%f, & a);f=fun (a);prin tf(%fn, f);

16、无返回值#in elude void fun( float x)float m ;m=x*x-5*x+4;prin tf(%fn, m);void mai n()float a;sea nf(%f, & a);fun (a);2.编写函数,按如下递归公式求函数值。1(n=0)fun(n )=(n 0)#in elude int fun (i nt n)int m;if(n=O) m=1;elsem=2*fu n(n-1)+1;retur n m;void mai n()int a, f;sca nf(%d, & a);f=fun (a);prin tf(%d n, m);编写函数求数n所有质因

17、子(所有为素数的因子)并输出,n由主函数输 入。#i nclude #in elude int prime(i nt 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=O) return 0;return 1;void mai n()int i,n ,flag;sca nf(%d,&n);for (i=1;i 二n; i+)if(n %i=0) flag二prime(i);else flag=0;if(flag=1)

18、 prin tf(%d n ”,i);4.哥德巴赫猜想之一是,任何一个大于5的偶数都可以表示为两个素数之和。编写程序验证这一论断。#i nclude int prime(i nt 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;sea nf(%d, &n);for (a=6; a二n; a+=2)for (b=3; b=a/2; b+=

19、2)if (prime(b)=1)e=a-b;if (prime(e)=1)prin tf(%d=%d+%dn,a,b,e);break;二维数组scorexx存放5个学生的3门课成绩,由主函数输入一个数,将所 有总成绩大于该数的学生输出。#i nclude void max(float a53, float score)int i,j;float s;for(i=0;i5;i+)s=0;for(j=0; jscore)prin tf(stu%d: %.2fn, i+1, s);void mai n()int i,j;float a53;float score;prin tf(please i

20、n put nu mber:n);for(i=0; i5; i+)prin tf(stu%d:, i+1);for(j=0; j3; j+)sca nf(%f,&aij);prin tf(n);prin tf(please in put score:);sea nf(%f, &score);max(a,score);实验七参考答案1.用指针变量输出任意4*4矩阵各元素的值(1)#i nclude stdio.hvoid mai n()int i,a44=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;int *p=a;for(i=0;i4*4;i+)prin tf(%3d,*(

21、p+i);if(i+1)%4=0)prin tf(n);#i nclude stdio.hvoid mai n()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+)prin tf(%3d,*(*(p+i)+j);prin tf(n);prin tf(n);2 .有一个整型二维数组amn,找出最大值所在的行和列,以及该最大值#i nclude stdio.hvoid mai n()int a44=1,34,35,26,7,12,92,24,55,33,53,6,7,41,

22、34,64;int (*p)4=a;int i,j,x,y,max;max=a00;for(i=0;i4;i+)for(j=0;j4;j+)prin tf(%3d,*(*(p+i)+j);if(max*(*(p+i)+j)max=*(*(p+i)+j);x=i;y=j;prin tf(n);prin tf(nm ax=%dnx=%dny=%dn,max,x,y);3.从键盘输入一字符串,求此字符串的xx并输出#in cludeint str_le n( char *p)int n=0;while(*p!=0)n+;P+;return n;int mai n()char a100;int n;p

23、rin tf(l nput a stri ng:n);gets(a);n=str_le n(a);prin tf(The len th:%dn, n);4.将字符串str中的小写字母全部改为大写字母,并输出该字符串#i nclude stdio.hvoid 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 mai n()char str50;char *p=NULL;prin tf(Please in put stri ng:n);gets(str);p=str;fun(p);p

24、uts(str);实验八参考答案1. 编写程序:定义一个职工结构体类型,定义职工结构体变量,从键盘输 入一名职工信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、 工资)#in clude struct employeechar n ame20;char id20;int gl;int salary;;int mai n()struct employee em;prin tf(Name:n);sea nf(%s,em. name);prin tf(HM:n);sea nf(%s,em.id);prin tf(GL:n);sea nf(%d, &em.gl);prin tf(GZ:n);sea nf(%d, &em.salary);printf(Name:%s HM:%s GL:%dGZ:%dn,em. name,em.id,em.gl,em.salary);return 0;2. 设计一个保存学生情况的结构体,学生情况包括姓名、学号、年龄。输 入5个学生的情况,输出学生的平均年龄和年龄最小的学生的情况#i nclude struct Stude nt char name100; / 姓名char stdNo10; / 学号int age; / 年龄;/输入学生信息void in put (Stude nt *stu, int n) printf(输入%d个学生信息

温馨提示

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

评论

0/150

提交评论