版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二参考答案 1输入两个整型数字,输出他们的和。 #include main() int a, b, sum; scanf( “%d%d”, sum=a+b; printf( “ a+b=%d”, sum); 2输入两个实型数,输出他们的和与乘积。 #include main() float a, b, sum, product; scanf( “%f%f ”, sum=a+b; product=a*b; printf( “ a+b=%5.2f, a*b =%5.2f ”,sum, product); 22 3求方程 ax2 bx c 0的根(设 b2 4ac 0)(其中 a,b,c 的值由
2、键盘输入)。 #include #include main() float a, b, c, dt, x1, x2; scanf( “%f%f%f” , 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); (h和f的值由键 4鸡兔同笼,已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只? 盘输入,输出鸡和兔的头数) #include main() int h, f, x,y; scanf( “%d%d”, x=2*h-f/2; y=f/2-h; printf
3、( “ x=%d, y =%d ”,x, y); 实验三参考答案 1.输入三个数a、b、c,要求按由小到大的顺序输出。 #include main() float a,b,c,t; scanf( “%f,%f,%f ”, 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) #include main() fl
4、oat a,b,c,t; scanf(“%f,%f,%f ”, 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) else printf( else if(c*c=a*a+b*b) else printf( else printf( #i nclude “等边三角型”); printf(“等腰直角三角形”); “一般等腰三角形”); printf( “一般三角形” “不构成三角形”); mai n(
5、) float a,b,c,t; “f,%f,%f ”, scanf( if(ab) t=a; if(ac) t=a; if(bc) t=b; a=b; b=t; a=c; c=t; b=c; c=t; ); ); if(a+b=c) pri ntf( “不构成三角形” else if(a=b “等边三角型”); “等腰直角三角形”); 般等腰三角形”); “一般直角三角形”); “一般三角形”); |3x-11| ( x 10) #include #include main() int x,y; printf(input x=:); scanf(%d, if(x1) y=x; else if
6、(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 语句 #include main() float score; char grade; scanf(%f, if(score100|score=90) grade=A; else if(score=80) grade=B; else if(score=70) grade=C; else if(
7、score=60) grade=D; else grade=E; printf(the student grade=%c n, grade); 方法二:用 switch 语句。 注意, case 后的表达式必须是一个常量表达式,所以在以用 switch 语句之前,必须把 0100之间的成绩分别化成相关的常量。所有A (除100以外),B, C, D类的成绩的共 同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。 #include main() float score, int s; char grade; scanf(%f, s=score/10; if(s10
8、) 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 =%c n , ch); 实验四参考答案 1编写程序,计算以下级数前 n 项之和。 sum 1 x x2 /2! x3 /3! x4 /4! . xn /n! #include void main() int i
9、, n; float s=1.0, sum=1.0, x; scanf( “%d, %f” , 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
10、=5) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 #include main( ) int i, j,n; scanf(%d, 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
11、=1, F2=1。 #include main() float f, f1=1, f2=1; int i, n; scanf(%d, 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+) printf(%10.0f n, fi); 实验五参考答案 1 编写程序,将1, 2, 3这三
12、个数赋给数组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 10 void main () int aNUM, i, j, temp, flag; printf (input %d numbers: n, NUM); for (i=0; iNUM; i+)
13、scanf (%d, 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 10 void main() int aNUM; int i,max, index; for(i=0; iNUM;i+) scanf(
14、%d, 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, if(ai=n) break; ai=0; index=i; for(i=0, j=i
15、ndex-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); 实验五参考答案 2 请同学们用有返回值和 1编写函数,求表达式 x 5x 4 的值, x 有由主函数输入。 无返回值两种方式去做,练习简单的函定义、声明、及调用方法) 有返回值 #include float fun(float x) float m ; m=x*x-5*x+4; return m ; void main() float a, f; scanf(%f, f
16、=fun(a); printf(%f n, f); 无返回值 #include void fun(float x) float m ; m=x*x-5*x+4; printf(%f n, m); void main() float a; scanf(%f, fun(a); 2 编写函数,按如下递归公式求函数值。 1 (n=0) fun(n)=心 2 fun(n 1)1 (n 0) #i nclude int fun (i nt n) int m; if(n=O) m=1; else m=2*fu n(n-1)+1; return m; void main() int a, f; scan f(
17、%d, 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; else for(j=3; j=sqrt(m); j+=2) if(m%j=0) return 0; return 1; void main() int i,n,flag; scanf(%d, 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; else for(j=3; j=sqrt(m); j+=2) if(m%j=0) return 0; return 1; main( ) int a,b,c
19、,n; scanf(%d, 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: %.
20、2fn, i+1, s); void main() 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, printf(n); printf(please input score:); scanf(%f, max(a,score); 实验七参考答案 1用指针变量输出任意 4*4 矩阵各元素的值 (1) #include stdio.h void main() int i,a44=1,1,1,1
21、,1,1,1,1,1,1,1,1,1,1,1,1; 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 ,找出最大值所在的行和列,以及该最
22、大值 #include stdio.h void main() int 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从键盘输入一字符串,求此字符串的长度并输出 #includ
23、e int str_len(char *p) int n=0; while(*p!=0) n+; 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 void main() char str50; c
24、har *p=NULL; printf(Please input string:n); gets(str); p=str; fun(p); puts(str); 实验八参考答案 1. 编写程序:定义一个职工结构体类型,定义职工结构体变量,从键盘输入一名职工 信息,然后输出。(假设职工信息包括:姓名、身份证号、工龄、工资) #include struct employee char name20; char id20; int gl; int salary; ; int main() struct employee em; printf(Name:n); scanf(%s,); p
25、rintf(HM:n); scanf(%s,em.id); printf(GL:n); scanf(%d, printf(GZ:n); scanf(%d, 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 i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PaaS面试题及详细答案(实操完整版)
- 三叉神经痛微创术后复发预警监测共识
- 医疗器械不良事件培训试题及答案
- 市场推广费用预算编制与核销流程方案
- (新版)全口义齿修复工艺技术题库(含答案)
- 2026年垃圾分类知识竞赛考试试题含答案
- 四川省达州市经开区2025-2026学年九年级上学期语文期中试卷(含答案)
- 护理学专业内科护理学专项训练习题集及答案
- 玉林市兴业县2025届四年级数学下学期期末综合测试试题含答案解析
- 独山县2025年数学四年级下学期期末质量检测模拟试题含答案解析
- (2026年)脐灸培训课件
- 2026安徽新媒体集团社会招聘3人备考题库及答案详解(夺冠系列)
- 2026年中烟工业机电岗笔试真题及模拟试题附完整答案
- 父母财产分配协议书
- 《零碳办公建筑评价标准》
- 科普讲解大赛芯片
- 能源体系内审培训课件
- 雨课堂学堂在线学堂云《运动损伤预防与康复(北体)》单元测试考核答案
- 2025特变电工校园招聘200人笔试历年参考题库附带答案详解
- 安格斯MAX市场计划
- 山西国企考试真题及答案
评论
0/150
提交评论