1、C语言程序设计上机习题与参考答案C语言程序设计上机习题与参考答案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、
2、求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(floa
3、t 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;参考答案1.#include#includevoid main() float a=3,b=4,c=5,p=0,s=
4、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)#i
5、ncludevoid 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)#includ
6、e 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.#includ
7、e 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,
8、&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=
9、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-)
10、for(int t=2; t*t=i; t+) if(i%t=0) break; else count+; if(count=5) printf(%dt,i); break; printf(n);11.#include #includefloat fun(float esp) int n=0; float s=0; do n+; 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.#includevoi
11、d 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(
12、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
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1