C语言程序设计基础实验与题解 答案(最新修改版).doc

上传人:文库蛋蛋多 文档编号:2384663 上传时间:2023-02-17 格式:DOC 页数:31 大小:77.50KB
返回 下载 相关 举报
C语言程序设计基础实验与题解 答案(最新修改版).doc_第1页
第1页 / 共31页
C语言程序设计基础实验与题解 答案(最新修改版).doc_第2页
第2页 / 共31页
C语言程序设计基础实验与题解 答案(最新修改版).doc_第3页
第3页 / 共31页
C语言程序设计基础实验与题解 答案(最新修改版).doc_第4页
第4页 / 共31页
C语言程序设计基础实验与题解 答案(最新修改版).doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《C语言程序设计基础实验与题解 答案(最新修改版).doc》由会员分享,可在线阅读,更多相关《C语言程序设计基础实验与题解 答案(最新修改版).doc(31页珍藏版)》请在三一办公上搜索。

1、 C语言程序设计基础实验与题解实验一 (1)定义iNUM时未对其初始化,修改程序参考如下: #includevoid main(void)int iNUM=5;float fNUM=134.23;printf(a=%dtf=%.2fn,iNUM,fNUM);运行结果:a=5 f=134.23Press any key to continue_(2)#includevoid main()int a,b,c,sum=0;scanf(a=%d,%d%d,&a,&b,&c);sum=a+b+c;printf(a=%d,b=%d,c=%dn,a,b,c);printf(sum=%d,sum);输入及其运

2、行结果:a=4,6 7a=4,b=6,c=7sum=17Press any key to continue_(3)#includevoid main()char a,b;scanf(%3c%4c,&a,&b);printf(C1=%c,C2=%c,a+1,b-1);运行结果:ABCDEFGHC1=B,C2=CPress any key to continue_(4)#include#includevoid main()float a;printf(Enter a: );scanf(%f,a);printf(The original data is:%fnn,a);printf(The tran

3、sformed data is:%.2fn);(5)#includevoid main()int a,b,c,d,f;printf(请输入两个整数:);scanf(%d%d,&a,&b);c=a+b;d=c*c;f=a*a+b*b;printf(它们的和为:%dn,c);printf(和的平方为:%dn,d);printf(平方的和为:%dn,f);(6)#includevoid main()float a,b;printf(输入华氏温度值:);scanf(%f,&a);b=(a-32)*5/9;printf(%f()=%.2f()n,a,b);(7)#includevoid main()fl

4、oat a,b,c;printf(请输入该球队赢球场数和输球场数:);scanf(%f%f,&a,&b);c=a/(a+b);c=c*100;printf(该队赢球百分比:%.2fn,c);实验二(1)#includevoid main()float x,y;printf(请输入x的值:);scanf(%f,&x);if(x1&x10)y=2*x-1;elsey=3*x-11;printf(按公式计算得y的值为:%fn,y);(2)#includevoid main()int i,j=0,k=0;char a50;printf(请输入若干字符:);gets(a);for(i=0;ai!=0;i

5、+)if(48=ai&ai=57)j+;if(65=ai&ai=90)|(97=ai&ai=122)k+;printf(数字字符的个数为:%dn,j);printf(英文字母的个数为:%dn,k);(3)#include#includevoid main() float a,b,c,d,e,f,x1,x2;printf(求解ax2+bx+c=0的根,请输入a,b,c的值:);scanf(%f%f%f,&a,&b,&c);if(a=0&b=0&c=0) printf(此方程有任意实数解。); if(a=0&b=0&c!=0) printf(此方程无实数解。);if(a!=0)d=b*b-4*a*

6、c;if(d0)f= sqrt( d);f=f/(2*a);e=-b/(2*a);x1=e+f;x2=e-f;printf(此方程有两不等实根:x1=%f,x2=%f,x1,x2);printf(n);(4)#includevoid main()float p,t;printf(请输入该公司员工该月所接工程的利润:);scanf(%f,&p);if(p1000&p2000&p5000&p10000)t=0.25*p;printf(该员工的利润提成为%.2fn,t);(5)#includevoid main()int a,b,c,t;printf(请输入三个整数:);scanf(%d%d%d,&

7、a,&b,&c);if(ab)t=a;a=b;b=t;if(bc)t=a;a=b;b=t; if(ab)t=b;b=c;c=t;printf(居中的数为:%dn,b);实验三1.#includevoid main()int a,b;printf(在2-1000之间的守形数如下:n);for(a=2;a=1000;a+)b=a*a;if(b%10=a|b%100=a|b%1000=a|b%10000=a)printf(%d ,a);printf(n);2.#includevoid main ()int m,n,i,min,t;printf(请输入两个正整数:);scanf(%d%d,&m,&n)

8、;if(m=0|n=0)printf(输入错误!);elsemin=mn?m:n;i=2;while(i=min)if(m%i=0&n%i=0)t=i;i+;printf(%d和%d的最大公约数是%d,最小公倍数是%d.n,m,n,t,(m*n)/t);3.#includevoid main()int a,n,s,i,t;printf(输入a和n的值:);scanf(%d%d,&a,&n);printf(a=%d,n=%d.n,a,n);t=a;for(i=1,s=0;i=n;i+)s=s+t;t=t*10+a;printf(a+aa+aaa+aa.a=%dn,s);4.#includevoi

9、d main()int n,s=0;printf(输入一个正整数:);scanf(%d,&n);dos+=n%10;n/=10;while(n0);printf(各位数之和是:%dn,s);5.#includevoid main()int i,x,y=1;for(i=1;i10;i+)x=2*(y+1);y=x;printf(第一天共摘下桃子数为:%dn,x);实验四1.#includevoid main()int i,j,s=1;for(i=1;i=1000;i+)s=1;for(j=2;j=i/2;j+)if(i%j=0)s+=j;if(s=i)printf(%d=1,i);for(j=2

10、;j=i/2;j+)if(i%j=0)printf(+%d,j);printf(n);2.#includevoid main()int i,a,b,c;for(a=6;a=10000;a+)b=c=1;for(i=2;i=a/2;i+)if(a%i=0)b=b+i;for(i=2;i=b/2;i+)if(b%i=0)c=c+i;if(a=c&a!=b)printf(%6d,%6dn,a,b);运行结果: 220, 284 284, 220 1184,1210 1210,1184 2620,2924 2924, 2620 5021,5564 5564, 5020 6232,6368 6368,

11、6232Press any key to continue_3.#includevoid main()int a,b,c,d,e;for(a=1;a=100;a+)for(b=1;b=100;b+)for(c=1;c=100;c+)if(a+b+c=100)&(9*a+6*b+c=300)printf(母鸡%d只,公鸡%d只,小鸡%d只。n,a,b,c);4.#includevoid main()char i,j,k;for(i=X;i=Z;i+)for(j=X;j=Z;j+)for(k=X;k=Z;k+)if(i!=j&i!=k&j!=k)if(i!=X&k!=X&k!=Z)printf(A

12、-%ctB-%ctC-%cn,i,j,k);实验五1.#includevoid main()int a11=1,4,6,9,13,16,19,28,40,100;int t1,t2,n,e,i,j;printf(原有数组为:n);for(i=0;ie)a10=n;elsefor(i=0;in)t1=ai;ai=n;for(j=i+1;j11;j+)t2=aj;aj=t1;t1=t2;break;for(i=0;i11;i+)printf(%d ,ai);printf(n);2.#includevoid main()int a10,i,j,t;printf(请输入十个整数:);for(i=0;i

13、10;i+)scanf(%d,&ai);for(i=0,j=10;ij;i+,j-)t=ai;ai=aj;aj=t;printf(逆序存放后的数组为:);for(i=0;i10;i+)printf(%d ,ai);printf(n);3.#includevoid main()int x,mid,top,bottom,a15=1,2,3,4,5,6,7,8,11,14,35,68,70,87,99;printf(请输入要查找的数:);scanf(%d,&x);bottom=0;top=14;while(bottom=top)mid=(top+bottom)/2;if(xamid)bottom=m

14、id+1;else break;if(bottom=top)printf(%d在数组中的下标为%dn,x,mid);else printf(查无此数!n);4.#include#includevoid main()char a80;int i;printf(请输入一个字符串:n);gets(a);for(i=0;istrlen(a);i+)if(a=ai&ai=z)ai=ai-32;else if(A=ai&ai=Z)ai=ai+32;puts(a);5.#includevoid main()long a,b;int i;a=b=1;printf(斐波那契数列的前20项分别为:n);print

15、f(%7ld%7ld,a,b);for(i=3;i=20;i+)a=a+b;printf(%7ld,a); if(i%5=0)printf(n);i+;b=a+b;printf(%7ld,b);if(i%5=0)printf(n);实验六1.#define M 5#define N 5#includevoid main()int i,j;char aMN;for(i=0;i5;i+) for(j=0;j5;j+)aij=*;printf(%c,aij);printf(n);2.#includevoid main()int i,j,a1010;printf(n);for(i=0;i10;i+)a

16、i0=1;aii=1;for(i=2;i10;i+)for(j=1;ji;j+)aij=ai-1j-1+ai-1j;for(i=0;i10;i+)for(j=0;j=i;j+)printf(%5d,aij);printf(n);3.#includefun(int a8080,int i,int n)int j,k,max=0;for(j=0;jmax)max=aij;k=j;return k;void main()int a8080,i,j,k,m,n,b;printf(请输入该二维数组的行列数:n);scanf(%d%d,&m,&n);printf(请输入该数组:n);for(i=0;im;

17、i+)for(j=0;jn;j+)scanf(%d,aij);for(i=0;im;i+)j=fun(a,i,n);for(k=0;k=akj)b=k;if(i=b)printf(该数组的一个鞍点为%d.,aij);实验七1.出错原因:函数不可嵌套定义。2.#includevoid main()int a50,s=0,aver,i,d=0;printf(请输入50个学生的成绩:n);for(i=0;i50;i+)scanf(%d,&ai);s+=ai;aver=s/50;printf(aver=%dn,aver);printf(分数高于平均分的人数:n);for(i=0;i=aver) d+;

18、printf(%dn,d);3.#includefloat fun(int n,int j)int i;float b20,max,min,s=0.00;printf(请输入每个评委对第%d位选手的评分:n,j);for(i=0;in;i+)scanf(%f,&bi);max=b0;min=b0;for(i=0;in;i+)if(maxbi)min=bi;s+=bi;s=s-max-min;s=s/(n-2);return s;void main()int i,j,m,n,p;printf(请输入参赛选手人数m和评委人数n:);scanf(%d%d,&m,&n);float a100,t,b1

19、00;for(i=1;i=m;i+)ai=fun(n,i);printf(第%d个选手的最终得分为%fn,i,ai);for(i=1;i=m;i+)bi=ai;for(i=1;im;i+)p=i;for(j=i+1;jbp)p=j;t=bp;bp=bi;bi=t; printf(成绩排名:n);for(i=1;i=m;i+)for(j=1;j=m;j+)if(bi=aj)printf(第%d名:第%d个选手(成绩%f)n,i,j,bi);4.#includeint f1(int n) int i,m=1;for(i=1;i=n;i+)m=m*i;return m;void main()int

20、a,b,c,d,j,k;for(j=0;j=7;j+)a=f1(j);for(k=0;k=j;k+)b=f1(k);c=f1(j-k);d=a/(b*c);printf(%d ,d);printf(n);5.#includevoid input(int a,int n)int i;printf(请输入10个整数:n);for(i=0;i10;i+)scanf(%d,&ai);return;void sort(int a,int n)int i,j,k;for(j=1;j=n-1;j+)for(i=0;i=n-1-j;i+)if(aiai+1)k=ai;ai=ai+1;ai+1=k;return

21、;void search(int a,int n,int x) int mid,top,bottom;bottom=0;top=n-1;while(bottomamid)top=mid-1;else bottom=mid+1;if(bottomtop) printf(查无此数!n);void main()int a10,i,b;input(a,10);printf(n该10个整数为:n);for(i=0;i10;i+)printf(%d ,ai);sort(a,10);printf(n排序后:n);for(i=0;i10;i+)printf(%d ,ai);printf(n请输入要查找的数:)

22、;scanf(%d,&b);search(a,10,b);6.#includeint day(int y,int m,int d)int k,l;int t213=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31;l=y%4=0&y%100!=0|y%400=0;for(k=1;km;k+)d+=tlk;return d;void main()int yy,mm,dd,d,w,s;printf(please input yy,mm,dd:n);scanf(%d%d%d,&yy,&mm,&dd)

23、;d=day(yy,mm,dd);s=yy-1+(yy-1)/4-(yy-1)/100+(yy-1)/400+d;w=s-7*(s/7);printf(%d-%d-%d:n,mm,dd,yy,w);7.#include#includefloat fun(float a,float b,float c,float d)float x=1,y,f1,f2;doy=x;f1=(a*y+b)*y+c)*y+d;f2=(3*a*y+2*b)*y+c;x=y-f1/f2;while(fabs(x-y)=1e-5);return x;void main()float a,b,c,d;printf(n输入方程

24、的系数a,b,c,d:n);scanf(%f,%f,%f,%f,&a,&b,&c,&d);printf(n方程是:%5.2fx3+%5.2fx2+%5.2fx+%5.2f=0,a,b,c,d);printf(nx=%10.7fn,fun(a,b,c,d);8.#includeint yue(int m,int n) int t,r; if(m=0|n=0)printf(输入错误!);elseif(mn)t=m;m=n;n=t;r=m%n;while(r!=0)m=n;n=r;r=m%n;return n;int bei(int m,int n,int t)int s;s=(m*n)/t;ret

25、urn s;void main ()int m,n,t,s;printf(请输入两个正整数:);scanf(%d%d,&m,&n);t=yue(m,n); s=bei(m,n,t);printf(%d和%d的最大公约数是%d,最小公倍数是%d.n,m,n,t,s);实验八1.#includevoid main() int a11=1,4,6,9,13,16,19,28,40,100; int t1,t2,n,e,i,j; printf(original array is:n); for(i=0;ie) a10=n; else for(i=0;in) t1=ai; ai=n; for(j=i+1

26、;j11;j+) t2=aj; aj=t1; t1=t2; break; for(i=0;i11;i+) printf(%d ,ai); printf(n);2.#define N 5#includevoid main()int aN=8,6,5,4,1,i,t;printf(n original array:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)t=ai;ai=aN-i-1;aN-i-1=t;printf(nsorted array:n);for(i=0;iN;i+)printf(%4d,ai);3.#includevoid main

27、()int x,mid,top,bottom,a15=1,2,3,4,5,6,7,8,11,14,35,68,70,87,99;printf(请输入要查找的数:);scanf(%d,&x);bottom=0;top=14;while(bottom=top)mid=(top+bottom)/2;if(xamid)bottom=mid+1;else break;if(bottom=top)printf(%d在数组中的下标为%dn,x,mid);else printf(查无此数!n);4.#include#include#includevoid fun(char p1,char p2)int i,j

28、;for(i=0;p1i!=0;i+);for(j=0;p2j!=0;j+)p1i+=p2j;p1i=0;void main()char s180,s240;system(CLS);printf(Enter s1 and s2:n);scanf(%s%s,s1,s2);printf(s1=%sn,s1);printf(s2=%sn,s2);printf(Invoke fun(s1,s2):n);fun(s1,s2);printf(After invoking:n);printf(%sn,s1);实验九1.#includevoid main()char a10,b10,*t,*s;int i,j

29、;printf(请给数组a和b赋值:n);gets(a);gets(b);printf(对应元素交换后数组a和b:n);for(t=a,s=b;*t!=0&*s!=0;t+,s+)i=*t;*t=*s;*s=i;puts(a);printf(n);puts(b);printf(n);2.#includevoid main()int a10,*s=a,i,max;printf(请输入整型数组的各个元素:n);for(i=0;i10;i+)scanf(%d,s+i);for(i=0;imax)max=*(s+i); printf(该整形数组的最大值为:%dn,max);3.#includevoid

30、 fun(char *s)int i,j;for(i=j=0;si!=0;i+)if(si!=k)sj+=si;sj=0;void main()char s80;printf(nEnter a string:);gets(s);printf(The original string:);puts(s);fun(s);printf(The string after deleted:);puts(s);printf(n);4.#includevoid sort(int ,int);void main()int i,a10;printf(input 10 numbers:n);for(i=0;i10;

31、i+)scanf(%d,&ai);sort(a,10);printf(the sorted numbers:n);for(i=0;i10;i+)printf(%d ,ai);printf(n);void sort(int a,int n)int i,j,p,t;for(i=0;in-1;i+)p=i;for(j=i+1;jn;j+)if(ajap)p=j;t=ap;ap=aj;aj=t;5.#include#define N 10void main()int sN,*p=s,*min,*max,t1,t2;printf(输入十个整数(用空格分开):n);for(p=s;ps+N;p+)scanf(%d,p);min=&s0;max=&sN

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号