计算机C语言期末考试试题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、 分别求100以内所有奇数之和、所有偶
数
之
积
。
/* Note:Your choice is C IDE */ #include "stdio.h" main() {
int i,y,sum,s; sum =0;s =1;
for (i =1;i <=100;i ++) {
y =i %2; if (y ==0) s =s *i; else
sum =sum +i; }
printf("100以内所有奇数之和为:%d\n",sum);
printf("100以内所有偶数之积为:%d\n",s); } 2、 输入
m,n ,求n
m
C (已知
)!
(!!
n m n m C n m -=
),要求用函数实现。
/* Note:Your choice is C IDE */ #include "stdio.h" int fac(int x); main() {
int m,n,cmn;
scanf("%d%d",&m,&n);
cmn =fac(m)/(fac(n)*fac(m -n)); printf("cmn=%d",cmn); }
int fac(int x) {
int s,i; s =1;
for (i =1;i <=x;i ++) s =s *i;
return s; }
3、 求1!+3!+5!+7!(用函数实现) /* Note:Your choice is C IDE */ #include "stdio.h" int fac(int x); main() {
int m;
m =fac(1)+fac(3)+fac(5)+fac(7); printf("m=%d",m); }
int fac(int x) {
int s,i; s =1;
for (i =1;i <=x;i ++) s =s *i; return s;
}
4、输入一个数,判定其是否是素数(用函
数实现)。
/* Note:Your choice is C IDE */ #include "stdio.h" int sushu(int x); main() {
int i;
scanf("%d",&i); if (sushu(i)==1) printf("是素数"); else
printf("不是素数"); }
int sushu(int x) {
int i,s; s =1;
for (i =2;i <=x -1;i ++) if (x %i ==0)s =0; return s; }
5、输出100以内所有素数以及它们之和。(用函数实现)
/* Note:Your choice is C IDE */
#include"stdio.h"
int sushu(int x);
main()
{
int i,sum;
sum=0;
for(i=2;i<=100;i++)
if(sushu(i)==1)
{printf("%d ",i);sum=sum+i;}
printf("一百以内的所有素数之和为:%d\n",sum);
}
int sushu(int x)
{
int i,s;
s=1;
for(i=2;i<=x-1;i++)
if(x%i==0)s=0;
return s;
}
6、输入两个数,求它们的最大公约数和最小公倍数(用函数实现)。
/* Note:Your choice is C IDE */
#include"stdio.h"
int gys(int x,int y);
int gbs(int a,int b);
main()
{
int m,n,z,g;
scanf("%d%d",&m,&n);
z=gys(m,n);
g=gbs(m,n);
printf("%d和%d的最小公倍数
是:%d\n",m,n,g);
printf("%d和%d的最大公约数
是:%d\n",m,n,z);
}
int gys(int x,int y)
{
int t,r;
if(x {t=x;x=y;y=t;} r=x%y; while(r!=0) { x=y;y=r;r=x%y; } return y; } int gbs(int a,int b) { int z; z=a*b/gys(a,b); return z; } 7、输入一个数,判定其是否为水仙花数(用函数实现)。 /* Note:Your choice is C IDE */ #include"stdio.h" int sxh(int x); main() { int x; scanf("%d",&x); if(sxh(x)==1) printf("%d是水仙花数\n",x); else printf("%d不是水仙花数\n",x); } int sxh(int x) { int a,b,c,k; k=0; a=x/100; b=(x%100)/10; c=x%10; if(x==a*a*a+b*b*b+c*c*c)k=1; return k; } 8、输出所有的水仙花数。(要求每行显示两个,用函数实现)