1、C语言题库程序设计容易试卷编号:18337所属语言:Turbo C试卷方案:phq1试卷总分:220分共有题型:1种一、程序设计 共22题 (共计220分)第1题 (10.0分) 题号:313/*-【程序设计】-功能:调用函数fun判断一个三位数是否水仙花数。 在main函数中从键盘输入一个三位数,并输 出判断结果。请编写fun函数。说明:所谓水仙花数是指一3位数,其各位数字立方和 等于该数本身。例如:153是一个水仙花数,因为153=1+125+27。-*/#include stdio.h int fun(int n) /*Program*/ /* End */ main() int n,f
2、lag; scanf(%d,&n); flag=fun(n); if(flag) printf(%d 是水仙花数n,n); else printf(%d 不是水仙花数n,n); getch(); yzj();yzj() FILE *IN,*OUT; int iIN,i; int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Curr
3、ent Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10; if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1; else return 0;-第2题 (10.0分) 题号:395/*-【程序设计】-功能:产生20个30,120上的随机整数放入二维数组 a54中, 求其
4、中的最小值。-*/#include stdlib.h#include stdio.hint amin(int a54) /*Program*/ /* End */main() int a54,i,j; clrscr(); for(i=0;i5;i+) for(j=0;j4;j+) aij=random(120-30+1)+30; for(i=0;i5;i+) for(j=0;j4;j+) printf(%5d,aij); printf(n); printf(min=%dn,amin(a); yzj(); getch();yzj() FILE *IN,*OUT; int m,n; int i54
5、; int o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(m=0;m5;m+) for(n=0;n4;n+) fscanf(IN,%d,&imn); o=amin(i); fprintf(OUT,%dn,o); fclose(IN); fclose(OUT);答案:-int i,j,s; s=a00; for(i=0;i5;i+) for(j=0;jaij)s=aij; return(s);-
6、第3题 (10.0分) 题号:22/*-【程序设计】-功能:从键盘为一维整型数组输入10个整数,调用fun 函数找出其中最小的数,并在main函数中输出。 请编写fun函数。-*/#include stdio.hint fun(int x,int n) /*Program*/ /* End */ main() int a10,i,min; for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) printf(%3d,ai); printf(n); min=fun(a,10); printf(%dn,min); yzj();yzj() FILE *IN,*O
7、UT; int iIN10,i; int iOUT,iCOUNT; IN=fopen(4.in,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(4.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) for(iCOUNT=0;iCOUNT10;iCOUNT+) fscanf(IN,%d,&iINiCOUNT); iOUT=fun(iIN,1
8、0); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-int min,i;min=x0;for(i=1;in;i+)if(ximin) min=xi;return min;-第4题 (10.0分) 题号:23/*-【程序设计】-功能:从键盘输入一个大于3的整数,调用函数fun判断 其是否素数,然后在main函数中输出相应的结论 信息。例如:7是素数,8不是素数。请编写fun函数。素数是 仅能被1和自身整除的数-*/#include stdio.h main() int m,flag; printf(input an integer:);
9、scanf(%d,&m); flag=fun(m); if(flag) printf(%d is a prime.n,m); else printf(%d is not a prime.n,m); yzj();int fun(int n) /*Program*/ /* End */yzj() FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen(5.in,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(5.out,w); if(OUT=NULL) p
10、rintf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%dn,iOUT); fclose(IN); fclose(OUT);答案:-int i;int j;j= 1;for(i=2;in;i+)if(n%i=0) j= 0;return j;-第5题 (10.0分) 题号:33/*-【程序设计】-功能:用do-while语句求1100的累计和。-*/#includelong int fun(int n) /*P
11、rogram*/ /* End */ void main () int i=100; printf(1100的累加和为:%ldn,fun(i); wwjt();wwjt() FILE *IN,*OUT; int i; int iIN; long int iOUT; IN=fopen(in.dat,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Please Verify The Current Dir. It M
12、ay Be Changed); for(i=0;i5;i+) fscanf(IN,%d,&iIN); iOUT=fun(iIN); fprintf(OUT,%ldn,iOUT); fclose(IN); fclose(OUT);答案: int i =1, sum =0; do sum = sum + i; i+; while ( i = n ); return sum;第6题 (10.0分) 题号:56/*-【程序设计】-功能:求1到100之间的偶数之积。-*/ #include stdio.h double fun(int m) /*Program*/ /* End */ main() pr
13、intf(ji=%fn,fun(100); yzj();yzj() FILE *IN,*OUT; int iIN,i; double dOUT; IN=fopen(23.in,r); if(IN=NULL) printf(Please Verify The Currernt Dir.It May Be Changed); OUT=fopen(23.out,w); if(OUT=NULL) printf(Please Verify The Current Dir. It May Be Changed); for(i=0;i10;i+) fscanf(IN,%d,&iIN); dOUT=fun(i
14、IN); fprintf(OUT,%fn,dOUT); fclose(IN); fclose(OUT);答案:-double y=1; int i; for(i=1;i=m;i+) if(i%2=0)y*=i; return y;-第7题 (10.0分) 题号:358/*-【程序设计】-功能:根据整型形参m,计算如下公式的值: y=1/5+1/61/71/81/9+1/10.1/(m+5)例如:若m=9,则应输出:1.168229-*/#include stdio.h double fun(int m) /*Program*/ /* End */main() int n; clrscr();
15、printf(Enter n: ); scanf(%d, &n); printf(nThe result is %1fn, fun(n); getch(); yzj(); yzj() FILE *IN,*OUT; int s,i ; int t; float o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(i=0;i5;i+) fscanf(IN,%d,&t); o=fun(t); fprint
16、f(OUT,%fn,o); fclose(IN); fclose(OUT);答案:- double y=0; int i; for(i=0; i10) z=log(x+3) (x-3) z=sin(x)/(cos(x)+4)-*/#include #includedouble y(float x) /*Program*/ /* End */main() float x; scanf(%f,&x); printf(y=%fn,y(x); yzj(); getch();yzj() FILE *IN,*OUT; int n; float i; double o; IN=fopen(in.dat,r)
17、; if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n10) z=exp(x); else if(x-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z);-第9题 (10.0分) 题号:390/*-【程序设计】-功能:编写函数求表达式的和(n的值由主函数输入)。 1-1/2+1/3-1/4+.+1/m例如:当n=20时,表达式的值为0.668771。-*/#include stdio
18、.hfloat sum(int n) /*Program*/ /* End */main() int n; scanf(%d,&n); printf(sum=%fn,sum(n); yzj(); getch();yzj() FILE *IN,*OUT; int m,n; int i10; float o; IN=fopen(in.dat,r); if(IN=NULL) printf(Read File Error); OUT=fopen(out.dat,w); if(OUT=NULL) printf(Write File Error); for(n=0;n5;n+) fscanf(IN,%d,
19、&in); for(n=0;n5;n+) o = sum(in); fprintf(OUT,%fn,o); fclose(IN); fclose(OUT);答案:-float s=0; int i,k=1; for(i=1;i=n;i+) s=s+k*1.0/i; k=-k; return(s);-第10题 (10.0分) 题号:328/*-【程序设计】-第11题 (10.0分) 题号:361/*-【程序设计】-功能:把20个随机数存入一个数组,然后输出该数组中的 最大值。 -*/#include stdio.h#define VSIZE 20 int vectorVSIZE ; int fun(int list
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1