c语言上机题答案.pdf_第1页
c语言上机题答案.pdf_第2页
c语言上机题答案.pdf_第3页
c语言上机题答案.pdf_第4页
c语言上机题答案.pdf_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

c 语言上机题答案语言上机题答案 1. 计算数列:的前 20 项之和。 #include stdio.h #include math.h void main() int i;double sum; for(i=1,sum=0;i21;i+)sum=sum+(2*i-1)*1.0)/(2*i+1)*1.0); printf(“%f”,sum); 2. 从键盘输入一个二维数组,求其两条对角线元素之和、所有元素之和。 #include stdio.h #include math.h void main() int a44; int i,j; int sum1,sum2,sum3; for(i=0;i4;i+) for(j=0;j4;j+)scanf(%d,aij); sum1=0;sum2=0; for(i=0;i4;i+) for(j=0;j4;j+) if(i=j)sum1=sum1+aij; if(i+j=3)sum2=sum2+aij; printf(%dn%dn,sum1,sum2); sum3=0; for(i=0;i4;i+) for(j=0;j4;j+)sum3=sum3+aij; printf(%dn,sum3); 3. 从键盘输入一个一维数组,将其元素按从大到小的顺序排列后输出。 #include stdio.h #include math.h void main() int i;int math10; int j; int k;int exchange; for(j=0;j10;j+) mathj=100-j; printf(排序前); for(j=0;j10;j+) printf(%6d,mathj); if(!(j+1)%5) printf(n); for(j=0;j9;j+) for(k=j;k10;k+) if(mathjmathk) exchange=mathj; mathj=mathk; mathk=exchange; printf(排序后); for(j=0;j10;j+) printf(%6d,mathj); if(!(j+1)%5) printf(n); 4.有一数列:1,求出该数列的前 20 项之和。 #includestdio.h #includemath.h void main() double sum; int x,y,i,z; for (x=1,y=2,i=1,sum=0;i21;i+) sum=sum+(x*1.0)/y; z=y; y=x+y; x=z; printf (%6.2f,sum); 5.用冒泡法对 8 个数从小到大排序。 #includestdio.h #includemath.h voidmain() int array8; int i,j,min,stmp; for(i=0;i8;i+) scanf(%d,arrayi); for(i=0;i7;i+) min=arrayi; for(j=i+1;j8;j+) if(minarrayj) min=arrayj; stmp=arrayi; arrayi=arrayj; arrayj=stmp; for(i=0;i8;i+) printf(%d ,arrayi); printf(n); 6. 求sigema前 n 项和。 #include stdio.h #include math.h void main() int n; int sum1; int sum2; int total; total=sum1+sum2; for(n=1;n=10;n+)printf(%6dn,n); for(n=1,sum1=1,sum2=1;n=10;n+) sum1=sum1+n; sum2=sum2+n*n; printf(%6dn%6dn,sum1,sum2); for(n=1;n=10;n+) total=sum1+sum2; printf(%6dn,total); 7.求二维数组中下标之和为奇数的元素之和。 #includestdio.h #includemath.h void main() int a24=2,8,7,10,6,4,1,5; int i,j,sum=0; for(i=0;i2;i+) for(j=0;j4;j+) if(i+j%2=1)sum+=aij; printf(%dn,sum); 8.编一个程序,从键盘输入两个整数,输出此二 数之和。 #include stdio.h #include math.h void main() int a,b;int sum; scanf(%d%d,a,b); sum=a+b; printf(%dn,sum); 9.编写一个求三个整数之和的程序,用求两个整数之和的函数实现。 #include stdio.h #include math.h void main() int a,b,c; int he; int sum(int,int); scanf(%d%d%d,a,b,c); he=sum(sum(a,b),c); printf(%d,he); int sum(int x,int y) int z; z=x+y; return(z); 10. 编写一个求 a + | b | 的程序, a,b 为两个整数。 #include stdio.h #include math.h void main() int a,b,z; int sum; scanf(%d%d,a,b); if(b0)z=b; elsez=-b; sum=a+z; printf(%d,sum); 11. 编写一个求 0100 之间全部偶数之和的程序。 #include stdio.h #include math.h void main() int i;int sum; for(i=1,sum=0;i101;i+) if(i%2)sum=sum+i; printf(%dn,sum); 12. 编写一个求 0100 之间全部奇数之积的程序。 #include stdio.h #include math.h void main() int i;double ji; for(i=1,ji=1;i101;i+) if(i%2=1)ji=ji*i; printf(ji=%fn,ji); 13. 编写一个程序从 5 个整数中找出最小的数。 #include stdio.h #include math.h void main() int a5; int i,min; for(i=0;i5;i+)scanf(%d,ai); min=a0; for(i=0;i5;i+) if(aimin)min=ai; elsemin=min; printf(min=%dn,min); 14. 打印形状为直角三角形的九九表。 #include stdio.h #include math.h void main() int i;int j; for(i=1;i10;i+) for(j=1;ji+1;j+) printf(%d*%d=%-4d,j,i,j*i); printf(n); 15. 递增的牛群:若一头小母牛,从第四个年头开始每年生一头小母牛。按此规律,第 n 年时 有多少头母牛? #include stdio.h; int count=0; int step=1; int fun(int n) int sum=0; while(n) sum+=step; count+; if ( count%4=0 ) step+; n-; return sum; int main() int n; printf(input n:); scanf(%d,n); printf(result:%dn,fun(n); 16. 百马百担问题:有一百匹马,驮一百担货,大马驮三担,中马驮两担,两匹小马驮一担, 问有大、中、小马各多少? #includestdio.h #includemath.h void main() double x,y,z; for(x=0;x=34;x+)for(y=0;y=50;y+)for(z=0;z=200;z+) if(x+y+z=100 3*x+2*y+(z/2)=100) printf(需要大马%2.0f 匹,中马%2.0f 匹,小马%2.0f 匹n,x,y,z); 17. 由键盘输入的数列按相反的顺序输出。 #includestdio.h #includemath.h void main() int a,x; scanf(%d,a); while(a%10!=0) x=a%10; printf(%d,x); a=a/10; 18. 有一个数组,内放十个整数,要求找出最小的数和它的下标。 #includestdio.h #includemath.h void main() int a10; int i,min,xb; for(i=0;i10;i+)scanf(%d,ai); min=a0;xb=0; for(i=0;i10;i+) if(aimin)min=ai;xb=i; else min=min;xb=xb; printf(最小数为%d下标为%dn,min,xb); 19. 有 n 个学生,每人考 m 门课,要求: (1)找出成绩最高的学生号和课程号; (2)找出有不及格课程的学生号及其各门课的全部成绩; (3)求全部学生全部课程的总平均分数。 #includestdio.h #includemath.h void main() int a33; int i,j; int max,ex1,ex2,c,b; float sum,ev; for(i=0;i3;i+) for(j=0;j3;j+) printf(请输入第%d 个考生的第%d 门成绩:,i+1,j+1); scanf(%d,aij); for(i=0,c=0;i3;i+) for(j=0,b=0;j3;j+) if(maxaij) ex1=c;c=i;i=ex1; ex2=j;j=b;b=ex2; printf(成绩最高的学生号:%d,课程号:%dn,c+1,b+1); for(i=0;i3;i+) for(j=0;j3;j+) if(aij60) printf(不及格的学生号为%d;课程号为%dn,i+1,j+1); for(i=0;i3;i+) for(j=0,sum=0;j3;j+) sum=sum+aij;ev=sum/9; printf(全部学生全部课程的总平均数是:%dn,ev); 20. 输入一个 n*n 矩阵各元素的值,求出两条对角线元素值之和。 #include stdio.h main() int i,j,n,sum; int a2020; printf(输入 n 的个数:); scanf(%d,n); for(i=0;in;i+) for(j=0;jn;j+) aij=i+j; printf(%4d,aij); printf(n); for(i=0,sum=0;in;i+) for(j=0;jn;j+) if(i=j)|(i=(n-i) sum=sum+aij; printf(对角线元素之和为:%dn,sum); 21输入 n 个数,按从大到小的顺序输出。 #includestdio.h #includemath.h void main() int k; int j; int exchange; int a80; int n;

温馨提示

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

评论

0/150

提交评论