C语言程序设计上机习题与参考答案.doc_第1页
C语言程序设计上机习题与参考答案.doc_第2页
C语言程序设计上机习题与参考答案.doc_第3页
C语言程序设计上机习题与参考答案.doc_第4页
C语言程序设计上机习题与参考答案.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计上机习题1、 给出三角形的三边a、b、c,求三角形的面积(应先判断a、b、c三边是否能构成一个三角形)。2、 某幼儿园只收26岁的小孩,23岁编入小班,4岁编入中班,56岁编入大班,编制程序实现每输入一个年龄,输出该编入什么班。3、 编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:(1)能同时被3、5、7整;(2)能同时被3、5、7中的两个数整除,并输出这两个数;(3)只能被3、5、7中的一个数整除;(4)不能被3、5、7中的任何一个数整除。4、 请列出所有的个位数是6,且能被3整除的两位数。5、 求1500中能被5整除的数的倒数之和。6、 编写程序,输入某门功课的若干个同学的成绩,以-1作为终值,计算平均成绩并输出。7、 若口袋里放入12个球,3个红球,3个白的,6个黑的,从中任取8个,编写程序,列出所有可能的取法。8、 编写一个程序,求2012!的末尾有多少个0?9、 一个自然数平方的末几位与该数相同时,称该数为同构数。例如:252=625,则25为同构数。编程求出11000中的同构数。10、 输入一个较大的整数,求小于该整数的最大5个素数。11、 求下列数列的近似值:S=1-1/22+1/33-1/44+(-1)n/nn.输入精度,当某一项的精度小于该值时停止计算。float fun(float esp) void main()float esp; scanf(“%f”,&esp); printf(“%fn”,fun(esp);12、 编写一个函数change(int x,int r),将十进制整数x转换成r(1r10)进制后输出。13、 求1000以内的亲密数对。亲密数对的定义为:若整数a 的所有因子(不包括本身)之和为b,b的所有因子(不包括b本身)之和为a,且a和b不相等,则称a与b为亲密数对。int fun(int x) void main()int n,a,b;for(n=1;n1000;n+) b=fun(n); a=fun(b) if(a!=b&a=n)printf(“n%d,%dn”,a,b); 14、 用递归法求下列问题的解:一对小兔,一个月后长成中兔,第二个月长成大兔,长成大兔,长成大兔后以后每个月生一对小兔。第20个月有多少对兔子?15、 定义一个函数long f(char s ),函数功能是将字符串s(只由数字符组成)转换为一个整数,并作为函数的返回值。long f(char s ) void main() char s10; long int res; gets(s); res=f(s);printf(“%ldn”,res); 16、 自编一函数,其功能是求一维数组最大值的下标,最大值由主函数输出。int fun(float aa ,int n ) void main()float a10; int k,max; for(k=0;k10;k+) scanf(“%f,a+k);max=fun(a,10);printf(“Max=%fn”,amax); 17、 编写一个函数fun(char s ,int n),函数的功能是将字符串s循环左移n个字符。主函数输入一个字符串的一个整数。void fun(chaf s ,int n) void main()char ss255; int n; gets(ss); printf(“Input data:n”);scanf(“%d”,&n); fun(ss,n);puts(ss);18、 编写一个函数,其功能是将字符串中指定的字符删除。void fun(char *ss,char c) void main()char s255,ch; printf(“Input a string:n”); gets(s); printf(“Input a character:n”); scanf(“%c”,&ch); fun(s,ch); puts(s);19、 完成下面的函数,函数的功能是将a数中大于平均值的数组元素存入b数组中,大求平均值的数据个数通过指针方式返回。void fun(int *a,int *b,int k,int *n) void main() int a10,b10,kk,sum; for(kk=0;kk10;kk+) scanf(“%d”,aa+k); fun(a,b,10,&sum); for(kk=0;kksum;kk+) printf(“%6d”,*(b+kk); 20、 从键盘输入一任意的字符串,编一函数,其功能是将该字符串的数字字符构成一个数据返回。例如:输入字符串为1dfk3d45,得到返回值为1345. void fun(char *s,long int *n) void main() char s20; long int d; gets(s); fun(s,&d); printf(“%ldn”,d);参考答案1.#include#includevoid main() float a=3,b=4,c=5,p=0,s=0; if(a+bc)&(a+cb)&(b+ca) p=0.5*(a+b+c); s=sqrt(p*(p-a)*(p-b)*(p-c); printf(面积是%fn,s); else printf(不能构成三角形n);2.#include#includevoid main() int age;printf(请输入年龄:);scanf(%d,&age);if(age=2&age=6) if(age=3)printf(编入小班n); else if(age=5)printf(编入中班n);else printf(编入大班n); else printf(您的输入有误!n);3.(1)#includevoid main() int n; printf(请输入数n:n); scanf(%d,&n); if(n%3=0&n%5=0&n%7=0) printf(能同时被3,5,7整除); (2)#include void main() int n; printf(请输入数n:n); scanf(%d,&n);if(n%3=0&n%5=0&n%7!=0) printf(能同时被3,5整除n);if(n%3=0&n%5!=0&n%7=0) printf(能同时被3,7整除n); if(n%3!=0&n%5=0&n%7=0) printf(能同时被5,7整除n); (3)#include void main() int n; printf(请输入数n: ); scanf(%d,&n);if(n%3=0&n%5!=0&n%7!=0) printf(只能被3整除n);if(n%3!=0&n%5=0&n%7!=0) printf(只能被5整除n); if(n%3!=0&n%5!=0&n%7=0) printf(只能被7整除n); (4) #include void main() int n; printf(请输入数n: ); scanf(%d,&n); if(n%3!=0&n%5!=0&n%7!=0) printf(不能被3、5、7中的任何一个数整除n); 4.#include void main() int i; for(i=1;i100;i+) if(i%10 = 6 & i%3 = 0) printf( %d,i); printf(n); 5.#include void main() float sum = 0; for(int i=1;i=500;i+) if(i%5 = 0)sum+=(1.0/i); printf(sum=%fn,sum);6.#include void main() int n=0; float s=0,sum=0;printf(请输入若干学生成绩(输入-1结束):);while(s!=-1) sum+=s; scanf(%f,&s); n+; sum=sum/(n-1); printf(该课程的平均成绩是:%5.2fn,sum); 7.#include void main()int Red,White,Black;int Count=0;for (Red=0;Red=3;Red+)for(White=0;White=0 & Black=6)printf(%2d. %d个红球,%d个白球,%d个黑球n,+Count,Red,White,Black);printf(n共有%d种!nn,Count);8.(这道题目就是看可以分解成多少个5相乘的数)#include int main() int result=0; for(int i=1; i=2012; +i) for(int n=i; n%5=0; n/=5) +result; printf(%dn,result); return 0;9.#include void main()long i,j,k;k=10;for(i=1;i=1000;i+)if(i=k)k*=10;j=i*i;if(j%k=i)printf(%ldt%ldn,i,j);10.#include void main()int n,count=0;printf(请输入一个整数n:);scanf(%d,&n);for(int i=n; i=2; i-)for(int t=2; t*t=i; t+)if(i%t=0)break;elsecount+;if(count=5)printf(%dt,i);break;printf(n);11.#include #includefloat fun(float esp) int n=0;float s=0;don+;s+=pow(-1,n-1)*1.0/pow(n,n);while(1.0/pow(n,n)esp);return s;void main()float esp; scanf(%f,&esp); printf(%fn,fun(esp);12.#includevoid change(int x,int r)int a32,i;for(i=0;x!=0;i+)ai=x%r;x/=r;for(i-;i=0;i-)printf(%d,ai);printf(n);void main()int x,r;printf(请输入x和r:);scanf(%d%d,&x,&r);change(x,r);13.#include int fun(int x) int y=0;for(int i=1;ix;i+)if(x%i=0)y+=i;return y;void main()int n,a,b;for(n=1;n1000;n+) b=fun(n);a=fun(b);if(a!=b&a=n) printf(%d %dn,a,b); 14.#include int func(int n) if(n=1|n=0) return 1; else return 2*func(n-1)+func(n-2);void main() printf(%dn,func(20); 15.#include #includelong f(char s )long t=0;for(int i=0;i10;i+)t+=(si-48)*pow(10,9-i);return t;void main() char s10; long int res; gets(s); res=f(s); printf(%ldn,res);16.#include int fun(float aa,int n )int max=0;for(int i=0;i=aamax)max=i;return max;void main()float a10; int k,max;for(k=0;k10;k+) scanf(%f,&ak); max=fun(a,10); printf(Max=%fn,amax); 17.#include #include void fun(char s ,int n) char a200=;memcpy(a,s,n);strcat(strcpy(s,s+n),a);void main()char ss255;int n;gets(ss);printf(Input data:n);scanf(%d,&n);fun(ss,n);puts(ss);18.#include void fun(char *ss,char c) int i,j;for(i=0;ssi!=0;i+)if(ssi=c) for(j=i;ssj!=0;j+)ssj=ssj+1; void main()char s255,ch;printf(Input a string:n);gets(s);printf(Input a character:n);scanf(%c,&ch);fun(s,ch);puts(s);19.#includevoid fun(int *a,int *b,int k,int *n) float sum=0,avg=0;int i,j=0;for(i=0;ik;i+)sum+=*(a+i);avg=sum/k;for(i=0;iavg)bj=ai;j+;*n=j;void main()int a10,b10,kk,sum;for(kk=0;kk10;kk+)scanf(%d

温馨提示

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

评论

0/150

提交评论