大学计算机C语言程序设计(程序设计).pdf
《大学计算机C语言程序设计(程序设计).pdf》由会员分享,可在线阅读,更多相关《大学计算机C语言程序设计(程序设计).pdf(185页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、一、程序设计 共 113题第1题 题 号:319/*-【程序设计】功能:判断m是否为素数。-*/i t i n c l u d e s t d i o.h v o i d w w j t 0;i n t f u n(i n t m)(/*P r o g r ai i i*/*En d */m ai n ()i n t m,k=0;f o r(m=100;m 200;m+)i f(f u n(m)(p r i n t f (4d”,m);k+;i f(k%5=0)p r i n t f(n);)p r i n t f(k=%d n”,k);w w j t ();v o i d w w j t (
2、)(FILE*IN,*OUT;i n t i l N,i OUT,i;IN=f o p e n(i n.d at,r);i f(IN=NULL)(p r i n t f(P l e as e Ve r i f y Th e Cu r r e r n t Di r.It May B e Ch an g e d);)OUT=f o p e n(o u t.d at,w);i f(OUT=NULL)(p r i n t f (/zP l e as e Ve r i f y Th e Cu r r e n t Di r.It May B e Ch an g e d);)f o r(i=0;i 10;i
3、+)(f s c an f(IN,%d”,&i IN);i OUT=f u n(i IN);f p r i n t f (OUT,%d n,i OUT);)f c l o s e(IN);f c l o s e(OUT);)答窠:-i n t i,k=l;i f(m=l)k=0;f o r(i=2;i m;i+)i f(m%i=0)k=0;r e t u r n k;第2题 题 号:351/*-【程序设计】功能:请编一个函数 v o i d f u n(i n t t t M N,i n t p p N),t t指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入P P所指一维数
4、组中。二维数组中的数已在主函数中赋予。-*/#i n c l u d e#i n c l u d e t t d e f i n e M 3t t d e f i n e N 4v o i d w j t ();v o i d f u n(i n t t t M N,i n t p p N)/*P r o g r am*/*En d */m ai n ()(i n t t M N =22,45,56,30,19,33,45,38,20,22,66,40;i n t p N,i,j,k;p r i n t f CTh e o r i g i n al d at a i s:n);f o r(i=
5、0;i M;i+)(f o r(j=0;j N;j+)p r i n t f r%6d/,,t i j );p r i n t f(n);)f u n(t,p);p r i n t f(n Th e r e s u l t i s:n);f o r(k=0;k N;k+)p r i n t f(4d,p k );p r i n t f CW);w w j t ();)v o i d w w j t ()(i n t i,j,ar r ay 3 4,p 4;FILE*r f,*w f ;r f =f o p e n(i n.d at,r);w f 二 f o p e n(o u t.d at,w
6、);f o r (i=0;i 3;i+)f o r (j=0;j 4;j+)f s c an f (r f,%d,&ar r ay i j );f u n (ar r ay,p);f o r (j=0;j 4;j+)f p r i n t f (w f,7 d ,p j );f p r i n t f (w f,n );)f c l o s e(r f);f c l o s e(w f);答案:-i n t i,j;f o r(j=0;j N;j+)(p p j =t t o j ;f o r(i=l;i p p j )p p j =t t i j ;)第3题 题 号:375/*-【程序设计】
7、功能:从键盘上输入任意实数,求出其所对应的函数值。z=e 的 x 次 辕(x 10)z=l o g(x+3)(x-3)z=s i n (x)/(c o s (x)+4)#i n c l u d e#i n c l u d e v o i d w j t ();d o u b l e y (f l o at x)(/*P r o g r am*/*En d */)m ai n ()(f l o at x;s c an f (,z%fz,,&x);p r i n t f(V%f n y(x);w w j t ();)v o i d w w j t ()(FILE*IN,*OUT;i n t n;f
8、 l o at i;d o u b l e o;IN二f o p e n (i n.d at,r);i f(IN=NULL)(p r i n t f CRe ad FILE Er r o r);)OUT=f o p e n(,zo u t.d at,w);i f(OUT二二NULL)(p r i n t f(Wr i t e FILE Er r o r);)f o r(n=0;n 10)z=e x p(x);e l s e i f(x 3)z=l o g(x+3);e l s e z=s i n(x)/(c o s(x)+4);r e t u r n (z);第4题 题 号:334/*-【程
9、序 设 计】功能:求 给 定 正 整 数 n以内的素数之积。(n 28)-*/#i n c l u d e#i n c l u d e c o n i o.h v o i d w w j t();l o n g f u n(i n t n)(/*P r o g r am*/*En d */)m ai n ()(i n t m;p r i n t f(En t e r m:);s c an f(%c T,&m);p r i n t f (,z n Th e r e s u l t i s%l d n ,f u n(m);w j t 0 ;)v o i d w w j t ()(FILE*IN,*
10、OUT;i n t c ;i n t t;l o n g o;IN=f o p e n(z zi n.d at,r);i f(IN=NULL)p r i n t f(,zRe ad FILE Er r o r);)OUT=f o p e n (o u t.d at,z,w);i f(OUT二 二NULL)(p r i n t f(z zWr i t e FILE Er r o r);f o r(c=l;c=5;c+)(f s c an f (IN,d”,&t);o=f u n (t);f p r i n t f (OUT,z,%l d nz,,o);)f c l o s e(IN);f c l
11、 o s e(OUT);)答案一l o n g i,k;l o n g s=l;f o r(i=2;i=n;i+)f o r(k=2;k i;k+)i f (i%k-0)b r e ak;i f(k=i)s=s*i;)r e t u r n s;第5题 题 号:333/*-【程序设计】功能:计算并输出给定整数的所有因子之积(包括自身)。规定这个整数的值不大于50o-*/#i n c l u d e#i n c l u d e,zc o n i o.h v o i d w j t ();l o n g i n t f u n(i n t n)/*P r o g r am*/*En d */)m
12、ai n()i n t m;p r i n t f(En t e r m:);s c an f&m);p r i n t f (,z n Th e r e s u l t i s%l d n/z,f u n(m);w j t ();v o i d w w j t ()(FILE*IN,*OUT;i n t s ;i n t t;l o n g i n t o;IN=f o p e n (i n.d at,“r);i f(IN=NULL)(p r i n t f(z,Re ad FILE Er r o r);)OUT=f o p e n (o u t.d at,w );i f(OUT=NULL)
13、(p r i n t f(Wr i t e FILE Er r o r);)f o r(s=l;s=5;s+)(f s c an f (TN,%d,&t);o=f u n(t);f p r i n t f (OUT,%l d n”,o);)f c l o s e(IN);f c l o s e(OUT);答案:-l o n g s=l,i;f o r(i=2;i=n;i+)i f(n%i=0)s=s*i;r e t u r n s;第6题 题 号:50/*-【程序设计】功能:求出菲波那契数列的前一项与后一项之比的极限的近似值。例如:当误差为0.0001时,函数值为0.618056。#i n c
14、 l u d e#i n c l u d e m at h,h”v o i d w w j t ();f l o at f u n ()/*P r o g:r an i*/*En d */m ai n()p r i n t f Cy=%f n/z,f u n();w w j t ();v o i d w w j t ()FILE*IN,*0UT;f l o at f OUT;IN二f o p e n(19.IN,;i f(IN=二NULL)(p r i n t f (Z/P l e as e Ve r i f y Th e Cu r r e r n t Di r.i t May B e Ch
15、an g e d);)OUT二f o p e n (19.o u t”,w );i f(OUT=NULL)(p r i n t f (z,P l e as e Ve r i f y Th e Cu r r e n t Di r.i t May B e Ch an g e d);f OUT=f u n();f p r i n t f(OUT,f n,f OUT);f c l o s e(IN);f c l o s e(OUT);)答 案:-f l o at f l=l,f 2=l,f 3;f l o at r l=2,r 2;d o r 2=r l;r l=f l/f 2;f 3=f l+f 2
16、;f l=f 2;f 2=f 3;w h i 1e(f ab s(r 1-r 2)1e-4);r e t u r n r l;第7题 题 号:394/*-【程序设计】功能:产生2 0个30,120上的随机整数放入二维数组a5 4中,求其中的最小值。-*/i n c l u d e s t d l i b.h#i n c l u d e v o i d w j t ();i n t am i n(i n t a 5 4)(/*P r o g r am*/*En d */)m ai n()(i n t a5 4,i,j;f o r(i=0;i 5;i+)f o r(j=0;j 4;j+)ai j
17、=r an d o m(120-30+1)+30;f o r(i=0;i 5;i+)(f o r(j=0;j 4;j+)p r i n t f (,z%5d,z,ai j );p r i n t f C W);)p r i n t f(m i n=%d n,am i n(a);w w j t ();v o i d w w j t ()(FILE*IN,*OUT;i n t m,n;i n t i 5 4;i n t o;IN二f o p e n (i n.d at,r);i f(IN=NULL)(p r i n t f(Re ad FILE Er r o r);)OUT=f o p e n(,
18、zo u t.d at,w);i f(OUT=NULL)printf(Z/Write FILE Error);)for(m=0;m5;m+)for(n=0;n4;n+)(f scanf(I N,&i m n);)o=amin(i);fprintf(OUT,o);fclose(IN);fclose(OUT);答案:-int i,j,s;s=a00;for(i=0;i5;i+)for(j=0;jai j)s=ai j;return(s);第8题 题 号:337/*-【程序设计】功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b
19、数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12o调用该函数后,c=2415o#include void w jt();void fun(int a,int b,long*c)/*Prograrii*/*En d */)m ai n ()(i n t a,b;l o n g c;p r i n t f(z/i n p u t a,b:);s c an f (%d%d,&a,&b);f u n (a,b,&c);p r i n t f(Th e r e s u l t i s:%l d n,c);w w j t ();v o i d w w j t ()(FILE*r f,
20、*w f ;i n t i,a,b ;l o n g c ;r f =f o p e n (/zi n.d at,z,r);w f 二 f o p e n (o u t.d at,w);f o r(i =0;i 10;i+)(f s c an f (r f,%d,%d,&a,&b);f u n (a,b,&c);f p r i n t f (w f,a=%d,b=%d,c=%l d n,a,b,c)f c l o s e(r f);f c l o s e(w f);答案:-*c=a/l 0*100+a%10+b/l 0*10+b%10*1000;第9题 题 号:388/*-【程序设计】功能:编
21、写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。调用该函数求出15300之间能同时被3和5整除的数的个数。-*/i n c l u d e v o i d w w j t();i n t s u m(i n t n)(/*P r c)g r an i*/*En d */)m ai n ()(i n t i,s=0;f o r(i=15;i=300;i+)i f(s u m(i)=l)s=s+l;p r i n t f (z,s=%d nz/,s);w j t ();)v o i d w w j t()(FILE*IN,*OUT;i n t n;i n t i 12;i n
22、t o;IN二f o p e n (i n.d at,r);i f(IN=NULL)(p r i n t f(/zRe ad FILE Er r o r);)OUT二f o p e n(o u t.d at,w);i f(OUT=NULL)(p r i n t f(z zWr i t e FILE Er r o r);)f o r(n=0;n 5;n+)f s c an f(IN,%d,&i n );)f o r(n=0;n 5;n+)(o =s u m(i n );f p r i n t f (OUT,%d n ,o);)f c l o s e(IN);f c l o s e(OUT);)答
23、案:i f(n%3=0&n%5=0)r e t u r n(l);r e t u r n(0);第 10题 题 号:16/*-【程序设计】功能:编写函数f u n 求 1!+2!+3!+n!的和,在 m ai n 函数中由键盘输入n 值,并输出运算结果。请编写f u n函数。例如:若 n值为5,则结果为153。#i n c l u d e v o i d w w j t ();l o n g i n t f u n(i n t n)/*P r o g r am*/*En d */m ai n()i n t n;l o n g i n t r e s u l t;s c an f (%d,&n)
24、;r e s u l t=f u n(n);p r i n t f(%l d n,r e s u l t);w w j t ();v o i d w w j t()(FILE*IN,*OUT;i n t i;i n t i l N;l o n g i n t i OUT;IN二f o p e n (i n.d at,r );i f(IN=NULL)(p r i n t f CP l e as e Ve r i f y Th e Cu r r e r n t Di r.It May B e Ch an g e d);OUT=f o p e n(/zo u t.d at,w );i f(OUT=N
25、ULL)(p r i n t f (/ZP 1 e as e Ve r i f y Th e Cu r r e n t Di r.It May B e Ch an g e d);f o r(i=0;i 10;i+)(f s c an f (IN,W&i l N);i OUT=f u n(i IN);f p r i n t f(OUT,l d n,i OUT);)f c l o s e(IN);f c l o s e(OUT);)答案:-i n t i;f l o at f=l,s=0;f o r(i=l;i=n;i+)f=f*i;s=s+f;r e t u r n s;第11题 题 号:329
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学计算机 语言程序设计 程序设计
限制150内