ImageVerifierCode 换一换
格式:DOCX , 页数:56 ,大小:25.61KB ,
资源ID:12549337      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12549337.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(太原理工大学13级c语言实验指导书参考题答案.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

太原理工大学13级c语言实验指导书参考题答案.docx

1、太原理工大学13级c语言实验指导书参考题答案太原理工大学13级c语言实验指导书参考答案实验一 顺序1-3.温度*/编写程序,输入华氏温度(F),按下列公式计算并输出对应的摄氏温度(C)。 C = 5/9(F 32)#includevoid main()float c,f;scanf(%f,&f);c=5.0/9.0*(f-32);printf(%5.2fn,c);/*1-4.三角形面积*/编写程序,从键盘输入一个三角形的三条边长a、b、c(要求任何两条边的边长之和均大于第三条边的边长),求该三角形的面积。求三角形的面积公式是: 其中: #include stdio.h#include math

2、.hvoid main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);s=1.0/2.0*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(area=%fn,area);/*1-5两数合并*/编写程序,将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上, b数的十位和个位数依次放在c数的个位和百位上。例如,当a45,b=12,运行结果为:c=5241。#include void main()int a,b,c;printf(Input a,b :);

3、scanf(%d,%d,&a,&b);c=(b/10*1);c+=(a/10*10);c+=(b%10*100);c+=(a%10*1000);printf(The result is:%dn,c);实验二 选择必做题2.1编一程序,使用单分支的if语句形式,求a,b,c三个整数的中间值。例如:a、b、c的值分别为3、4、5,则输出4。#include void main() int a,b,c,t; printf(Input a,b,c:); scanf(%d,%d,%d,&a,&b,&c); if(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; if(bc)t=b;b

4、=c;c=t; printf(中间数 = %dn, b);2.2有一函数 x (x1) y =2x 1 (1x10)3x 11 (x10)用scanf函数输入x的值(分别取x1、110、10三种情况),求y值。#include void main() int x,y; printf(Input x:); scanf(%d,&x); if(x1)y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(x= %d,y=%dn, x,y);2.3编写程序,输入一位学生的生日(年:y0、月:m0、日:d0)数据,再输入当前的日期(年:y1、月:m1、日:d1)

5、数据,计算并输出该学生的实足年龄。#include void main() int y0,m0,d0,y1,m1,d1,nl; printf(Input 生日(年,月,日):); scanf(%d,%d,%d,&y0,&m0,&d0); printf(Input 当前日期(年,月,日):); scanf(%d,%d,%d,&y1,&m1,&d1); if(m1m0|m1= =m0&d1=d0)nl=y1-y0; else nl=y1-y0-1; printf(年龄 = %dn, nl);2.4编写程序,定义四个字符变量c1,c2,c3和c4,分别用getchar()函数任意输入四个字母,分别输

6、出其中的最大值和最小值。#include void main() char c1,c2,c3,c4,max,min; printf(Input 四个字符 :); c1=getchar();c2=getchar();c3=getchar();c4=getchar(); max=min=c1; if(c2max)max=c2; if(c3max)max=c3; if(c4max)max=c4; min=c2min?c2:min; min=c3min?c3:min; min=c4min?c4:min; printf(max=%c,min=%cn,max,min);2.5设整型变量a的值为正数,请将以

7、下C源程序中的if语句形式改写成switch语句形式。#include main() int a; printf(”a = ”);scanf(”%d”, &a); if(a30) m = 1; else if(a 40) m = 2; else if(a 50) m = 3;else if(a 60) m = 4;else m = 6;printf(”m = %dn”, m); #include void main() int a,t,m; printf(Input a=); scanf(%d,&a); if(a0) t=a/10; switch(t) case 0:case 1:case 2

8、:m=1;break; case 3:m=2;break; case 4:m=3;break; case 5:m=4;break; default:m=6; printf(m=%dn,m); else printf(a为非正数n);实验三 循环必做题3.1编写程序,计算并输出正整数n的所有因子(1和n除外)之和。#include void main() int n,i,s=0,m=0; printf(Input n:); scanf(%d,&n); for(i=2;in;i+) if(n%i= =0) printf(%5d,i);s+=i;m+; if(m%10= =0)printf(n);

9、printf(ns= %dn, s);3.2编写程序,利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。迭代步骤如下: ()取x1初值为0.0; ()x0=x1,把x1的值赋给x0; ()x1=cos(x0),求出一个新的x1; ()若x0-x1的绝对值小于0.000001,执行步骤(),否则执行步骤(); ()所求x1就是方程cos(x)-x=0的一个实根。#include #include void main() double x0,x1=0.0; do x0=x1; x1=cos(x0); while(fabs(x1-x0)=1e-6); printf(nx1= %.2f

10、n, x1);3.3编写程序,输入一行字符,分别统计出其中的大写字母、小写字母、空格和数字的个数。提示:用以下循环格式处理输入的一行字符。 while(c = getchar()!=n) /* 若输入的c不是回车符时继续 */ 循环体或者:c = getchar();while(c !=n) /* 若c不是回车符时继续 */ 循环体 c = getchar(); #include #include void main() char c; int n1,n2,n3,n4; n1=n2=n3=n4=0; printf(请输入一行字符,以换行结束:); while(c=getchar()!=n) i

11、f(isupper(c)n1+; else if(islower(c)n2+; else if(isdigit(c)n3+; else if( c= )n4+; printf(n大写=:%d,小写: %d,数字: %d,空格: %d,n, n1,n2,n3,n4);3.4编写程序,在屏幕上输出杨辉三角形。 11 11 2 11 3 3 11 4 6 4 11 5 10 10 1 #include stdio.h#define N 20void main()int i,j,arrayNN=0,n;printf(请输入n行:n);scanf(%d,&n);for(i=0;in;i+)arrayi0

12、=1;arrayii=1;for(i=2;in;i+) for(j=1;ji;j+) arrayij=arrayi-1j-1+arrayi-1j;printf(杨辉三角形:n);for(i=0;in;i+) for(j=0;j=i;j+) printf(%4d ,arrayij); printf(n);printf(n);选做题3.1#include#includevoid main() float x,t,sum=1.0,i=1.0,m=1.0; int s=1; printf(请输入x:); scanf(%f,&x); t=x; while(fabs(t)1e-6) sum+=t; s=-

13、s; i+; m*=i; t=s*1.0*pow(x,i)/m; printf(nx=%f,f(x)=%fn, x,sum);3.2#include #include main() int i,m,n,k=0,j; double s; printf(请输入正整数m,n(mn):); scanf(%d,%d,&m,&n); for(i=m+1;in;i+) s=sqrt(i); for(j=2;js)printf(%6d,i);k+; if(k%8=0)printf(n); printf(n);3.3#include void main() int i,m=2,j,n; double s=0.0

14、,k=1.0,t; printf(请输入正整数n:); scanf(%d,&n); for(i=1;i=n;i+) t=m/k; s+=t; j=m; m=m+k; k=j; printf(n和为:%lfn,s); 3.4#include stdio.hvoid main()int i;double h=100.0,h1,s=100.0;for(i=2;i=10;i+) h1=h/2; h=h1; s+=2*h; printf(s=%lf,h=%lfn,s,h);实验四 数组必做题4.1编写程序,将3n之间的所有非素数存入数组array中,然后输出该数组元素。例如:若n=20,则输出 4,6,

15、8,9,10,12,14,15,16,18,20。#include #include #define N 20void main()int i,arrayN,j,m,k=0;for(i=3;i=N;i+) m=sqrt(i); for(j=2;j=m;j+) if(i%j=0)arrayk+=i;break; for(i=0;i=k-1;i+) printf(%d ,arrayi);printf(n); 4.2 编写程序,将字符数组str中的字符串逆置后输出。例如:若str字符串为“This is a C programe.”,则输出为“.emargorp C a si sihT”。#incl

16、ude #include #define N 80void main()int i,k;char strN,t;gets(str);k=strlen(str);for(i=0;ik/2;i+)t=stri;stri=strk-1-i;strk-1-i=t;printf(n%sn,str); 4.3从键盘输入10个整数,选择一种排序算法,将这些数按从大到小的顺序排列输出。#include#define N 10void main()int i,j,arrayN,m,t;printf(请输入10个整数:);for(i=0;iN;i+) scanf(%d,&arrayi);for(i=0;iN-1;

17、i+) m=i; for(j=i+1;jarraym)m=j; if(m!=i) t=arraym;arraym=arrayi;arrayi=t; for(i=0;iN;i+) printf(%d ,arrayi);printf(n); 4.4计算55矩阵的主对角线元素和此对角线元素之和。若有下列矩阵,则输出的值应该是130。1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25#include #define N 5void main()int i,j,arrayNN,s=0;printf(请输入55个整数:);for(i=

18、0;iN;i+) for(j=0;jN;j+) scanf(%d,&arrayij);for(i=0;iN;i+) for(j=0;jN;j+) if(i=j|i+j=N-1)s+=arrayij; if(i=j&i+j=N-1)s+=arrayij;for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d ,arrayij); printf(n);printf(s=%dn,s);选做题4.1#include stdio.h#include string.h#define M 5void main()int i,j,aM,k,x;char strM80,tM;print

19、f(请输入5个字符串:);for(i=0;iM;i+)gets(stri);ai=strlen(stri);for(i=0;iM-1;i+)k=i; for(j=i+1;jak)k=j; if(k!=i)strcpy(t,stri);strcpy(stri,strk);strcpy(strk,t); x=ak;ak=ai;ai=x; for(i=0;iM;i+) puts(stri); printf(n);4.2#include stdio.h#include string.h#define M 80void main()int i,j=0,k=0,a;char sM,tM,wM;printf

20、(请输入1个字符串:n);gets(s);a=strlen(s);for(i=0;i=0&si=9)tj+=si; else wk+=si;tj=0;wk=0;strcat(t,w);strcpy(s,t); puts(s); printf(n);4.3#include stdio.h#define N 6void main()int i,arrayN,t,k;printf(请输入N个整数:n);for(i=0;iN;i+) scanf(%d,&arrayi);k=N%2?N/2+1:N/2;for(i=0;iN/2;i+)t=arrayi;arrayi=arrayk+i;arrayk+i=t

21、; for(i=0;iN;i+) printf(%d ,arrayi);printf(n); 4.4#include stdio.h#define N 4void main()int i,j,arrayNN,t;printf(请输入44个整数:n);for(i=0;iN;i+) for(j=0;jN;j+) scanf(%d,&arrayij);printf(移动前矩阵:n);for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d ,arrayij); printf(n);printf(n);for(i=0;iN;i+) for(j=0;j2;j+) if(j=0)t

22、=arrayij;arrayij=arrayi2-j;arrayi2-j=t; else t=arrayij;arrayij=arrayi4-j;arrayi4-j=t;printf(移动后矩阵:n);for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d ,arrayij); printf(n);printf(n);实验五 函数必做题5.1编写一个判断素数的函数 int Isprime(int m)。在主函数中输入一个整数n,然后调用Isprime,如果n是素数,则输出:n is prime! 否则输出:n isnt prime!#include void main

23、() int n; printf(请输入正整数n:n); scanf(%d,&n); if(Isprime(n)printf(%d is prime!n,n); else printf(%d isnt prime!n,n); printf(n); int Isprime(int m)int j;for(j=2;jm/2)return 1;else return 0;5.2编写两个函数,分别求两个整数的最小公倍数和最大公约数并返回给主函数,两个整数由主函数输入。#include #include int Lowest_common_multiple(int m,int n,int h);int Greatest_common_divisor(int m,int n);void main() int m,n,t,p,k;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1