大学计算机C语言程序设计(程序设计).docx
《大学计算机C语言程序设计(程序设计).docx》由会员分享,可在线阅读,更多相关《大学计算机C语言程序设计(程序设计).docx(191页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一、程序设计共113题第1题题号:319/*【程序设计】功能:判断m是否为素数。*/#include stdio. h void wwjt ();int fun(int m)/*Program*/* End */ main ()int m, k=0;for(m=100;m200;m+) if(fun(m)printf(%4d”,m);k+;if(k%5=0) printf(n);)printf(k=%dn”,k); wwjt();void wwjt ()FILE *IN,*OUT; int ilN, iOUT, i;IN=fopen (*in. dat,r);if(IN=NULL)(print
2、f(Please Verify The Currernt Dir. It May Be Changed);OUT=fopen(out. dat,w);if(OUT=NULL)(printf(*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, k=l;if(m=l) k=0;for(i=2;im;i+)if(m%i=0) k=0;r
3、eturn k;第2题题号:351【程序设计】功能:请编一个函数 void fun(int ttMN, int ppN).tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入PP所指一维数组中。二维数组中的数已在主函数中赋予。*/#include#includettdefine M 3ttdefine N 4void wwjt();void fun(int ttMN, int ppN)/*Pr()gram*/* End */)mainOint tMN=22,45,56,30,19,33,45,38),20,22,66,40;int pN, i, j, k;printf C*T
4、he original data is:n);for(i=0;iM;i+)(for(j=0;jN;j+)printf (*%6d*, tij);printf(n);fun(t, p);printf(*nThe result is:n);for(k=0;kN;k+) printf(*%4d*, pk);printf(n);wwjt ();void wwjt ()(int i, j, array34,p4;FILE *rf,*wf ;rf = fopen(in. dat,r);wf = fopen(*out. dat*,w);for (i=0; i 3; i+)for (j=0; j 4; j+)
5、fscanf (rf,%d”,&arrayij);fun (array, p);for (j=0; j 4; j+)fprintf (wf,%7d”, pj); fprintf (wf,n);)fclose(rf);fclose(wf);答案:-int i, j;for(j=0;jN;j+)(ppj=ttoj;for(i=l;ippj)ppj=ttij;第3题题号:375/*【程序设计】功能:从键盘上输入任意实数,求出其所对应的函数值。z=e 的 x 次幕(x10)z=log(x+3)(x-3)z=sin(x)/(cos (x)+4)*/include #includevoid wjt ();
6、double y (float x)(/*Prograiii*/* End */main ()float x;scanf (*%f *,&x);printf(y=%fn, y(x);wwjt ();void wwjt ()FILE *IN,*0UT;int n;float i;double 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;n10) z=exp(x);else if
7、(x-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return (z);第4题题号:334/*【程序设计】功能:求给定正整数n以内的素数之积。(n28)*/#include #includeconio. hvoid wjt ();long fun(int n)(/*Prograni*/* End */ mainO(int m;printf(*Enter m:);scanf (*%d*,&m);printf(*nThe result is %ldn*, fun(m); wwjt ();void wwjt ()(FILE *IN,*OUT;int c ;int t
8、;long 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(c=l;c=5;c+)(fscanf (IN,%d,&t);o=fun(t);fprintf(OUT,o);)fclose(IN);fclose(OUT);)答案:-long i, k;long s=l;for(i=2;i=n;i+)for(k=2;ki;k+)if (i%k=0) break;if(k=i)s=s*i;retu
9、rn s;第5题题号:333【程序设计】功能:计算并输出给定整数的所有因子之积(包括自身)。规定这个整数的值不大于50o*/#include #include*conio.h void wwjt ();long int fun(int n)/*Program*/main ()int m;printf(Enter m:);scanf (*%d*,&m);printf(*nThe result is %ldn* fun(m);wwjt ();)void wwjt ()FILE *IN,*OUT;int s ;int t;long int o;IN二fopen(in. dat*,r);if(IN=N
10、ULL)(printf(*Read FILE Error*);OUT二fopen (out. dat,w);if(OUT=NULL)(printfCWrite FILE Error*);)for(s=l;s=5;s+)(fscanf (IN,%d,&t);o=fun(t);fprintf (OUT,%ldn”, o);fclose(IN);fclose(OUT);答案:-long s=l, i;for(i=2;i=n;i+) if(n%i=0)s=s*i;return s;第6题题号:50/*【程序设计】功能:求出菲波那契数列的前一项与后一项之比的极限的近似值。例如:当误差为0.0001时,函
11、数值为0.618056。*/#include #include math, h”void wwjt ();float fun()/*Prograiii*/* End */)main()(printfCy=%fn*,fun();wwjt ();void wwjt ()(FILE *IN,*OUT;float fOUT;IN=fopen(*19. IN*,*r*);if(IN=NULL)(printf(*Please Verify The Currernt Dir. it May Be Changed);OUT=fopen(19. out,w);if(OUT=NULL)(printf(Please
12、 Verify The Current Dir. it May Be Changed);fOUT=fun();fprintf(OUT,%fn,fOUT);fclose(IN);fclose(OUT);float fl=l,f2=l,f3;float rl=2,r2;dor2=rl;rl=fl/f2;f3=fl+f2;fl=f2;f2=f3;while(fabs(rl-r2)le-4);return rl;第7题题号:394【程序设计】功能:产生20个30,120上的随机整数放入二维数组 a54中,求其中的最小值。-*/include *stdlib. h#include void wwjt (
13、);int amin(int a54)/*Prograni*/* End */ main()int a54, i, j;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);printfCn*);)printf(min=%dn”, amin(a);wwjt ();)void wwjt ()(FILE *IN,*OUT;int m, n;int i54;int o;IN=fopen(*in. dat,r);if(IN=NULL)(printfCRe
14、ad FILE Error*);0UT=fopen(*out. dat,w);if(OUT二二NULL)printf(*Write FILE Error*);)for(m=0;m5;m+)for(n=0;n4;n+)(fscanf (IN,*%d*,&i mn);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);第8题题号:337/*【程序设计】功能:将两个两位数的正整数a、b合并形成一个整数放在 c中。合并
15、的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45, b=12o调用该函数后,c=2415o*/#include void wjt ();void fun(int af int b, long *c)/*Program*/main ()(int a, b; long c;printf(input a, b:);scanf (%d%d”,&a,&b);fun (a, b,&c);printf(*The result is:%ldn*, c);wwjt ();void wwjt ()(FILE *rf,*wf ;int i, a
16、, b ; long c ;rf = fopen(in. dat,r);wf = fopen (out. dat,w);for(i =0; i 10; i+)(fscanf (rf,%d,%d,&a,&b);fun (a, b,&c);fprintf (wf,*a=%d, b=%d, c=%ldn*, a, b, c)fclose(rf);fclose(wf);答案:*c=a/l0*100+a%10+b/l0*10+b%10*1000;第9题题号:388/*【程序设计】功能:编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。调用该函数求出15300之间能同时被3和5整除的数
17、的个数。*/#include void wwjt ();int sum(int n)(/*Prograni*/* End */)main ()(int i,s=0;for(i=15;i=300;i+)if(sum(i)=l) s=s+l;printf (*s=%dn*, s);wwjt ();)void wwjt ()(FILE *IN,*OUT;int n;int i12;int o;IN=fopen(in. dat,r);if(IN=NULL)(printfCRead FILE Error);)0UT=fopen(*out. dat,w);if(OUT=NULL)(printf(*Writ
18、e FILE Error*);for(n=0;n5;n+)fscanf(IN,%d”,&in);for(n=0;n5;n+)o = sum(in);fprintf(OUT,%dn, o);)fclose(IN);fclose(OUT);答案一if(n%3=0&n%5=0) return(l);return(0);第10题题号:16/*【程序设计】功能:编写函数fun求1!+2!+3!+n!的和,在main函数中由键盘输入n值,并输出运算结果。请编写fun 函数。例如:若n值为5,则结果为153。/#include void wwjt ();long int fun(int n)/*Progra
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 语言程序设计 程序设计
限制150内