C语言编程题题库

上传人:痛*** 文档编号:168940479 上传时间:2022-11-13 格式:DOC 页数:15 大小:110.50KB
收藏 版权申诉 举报 下载
C语言编程题题库_第1页
第1页 / 共15页
C语言编程题题库_第2页
第2页 / 共15页
C语言编程题题库_第3页
第3页 / 共15页
资源描述:

《C语言编程题题库》由会员分享,可在线阅读,更多相关《C语言编程题题库(15页珍藏版)》请在装配图网上搜索。

1、1、功能:求一个给定字符串中的字母的个数。 #includestdio.h voidTestFunc(); intfun(chars) /*Begin*/inti,k=0; for(i=0;si!=0;i+)if(si=a&si=A&si=Z)k+;returnk; /*End*/voidmain()charstr=Bestwishesforyou!;intk;k=fun(str);printf(k=%dn,k);TestFunc();2、编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+.+1/m!(m是偶数)#includestdio.hvoidTestFu

2、nc();doublefun(intm)/*Begin*/ double y=0.0;int i,j;double s=1;for (i=2;i=m;i+=2)for(j=i-1;j=i;j+)s=s*j;y=y+1.0/s;return y;/*End*/voidmain()intn;printf(Entern:);scanf(%d,&n);printf(nTheresultis%1ffun(n);3、从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。#includestdio.hvoidTestFunc();intfun(intx,intn)/*B

3、egin*/int min,i;min=x0;for(i=1;in;i+)if(ximin) min=xi;return min;/*End*/voidmain()inta10,i,min;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i0) d=n%10; s+=d*d*d; n/=10; return s;/*End*/voidmain()intk;k=fun(1234);printf(k=%dn,k);TestFunc(); 愤怒小强,不二16:59:545、从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如:当s中的数为:时,t中的数为

4、:642。#includestdio.hvoidTestFunc();longfun(longs,longt)/*Begin*/long sl=10;s /= 10; t = s % 10;while(s 0) s = s/100; t = s%10*sl + t;sl = sl * 10;/*End*/returnt;voidmain()longs,t,m;printf(nPleaseenters:);scanf(%ld,&s);m=fun(s,t);printf(Theresultis:%ldn,m);TestFunc();6、求一组数中大于平均值的数的个数。例如:给定的一组数为1,3,6

5、,9,4,23,35,67,12,88时,函数值为3。#includestdio.hvoidTestFunc();intfun(inta,intn)/*Begin*/inti,k=0;floats=0,ave;for(i=0;in;i+)s+=ai;ave=s/n;printf(%f,ave);for(i=0;iave)k+;returnk;/*End*/voidmain()inta10=1,3,6,9,4,23,35,67,12,88;inty;y=fun(a,10);printf(y=%dn,y);TestFunc();7、把20个随机数存入一个数组,然后输出该数组中的最小值。其中确定最小

6、值的下标的操作在fun函数中实现,请给出该函数的定义。#includestdio.h#includestdlib.h#defineVSIZE20intvectorVSIZE;voidNONO();intfun(intlist,intsize)/*Begin*/inti,min=0;for(i=1;ilisti)min=i;returnmin;/*End*/voidmain()inti;for(i=0;iVSIZE;i+)vectori=rand();printf(Vector%d=%6dn,i,vectori);i=fun(vector,VSIZE);printf(nMininum:Vecto

7、r%d=%6dn,i,vectori);NONO();8、计算并输出给定整数n的所有因子之和(不包括1与自身)。注意:n的值不大于1000。例如:n的值为12时,除了1和12外的因子有2、3、4、6,和为15,应输出15。#includestdio.hvoidTestFunc();intfun(intn)/*Begin*/ints=0,i;for(i=2;in;i+)if(n%i=0)s=s+i;returns;/*End*/voidmain()printf(s=%dn,fun(855);TestFunc();9、求大于lim(lim小于100的整数)并且小于100的所有素数并放在aa数组中,

8、该函数返回所求出素数的个数#include#include#defineMAX100voidNONO();intfun(intlim,intaaMAX)/*Begin*/intn=0;inti,j;for(i=lim;i=100;i+)for(j=2;ji;j+)if(i%j=0)break;if(j=i)aan+=i;returnn;/*End*/voidmain()intlimit,i,sum;intaaMAX;printf(PleaseInputaInteger:);scanf(%d,&limit);sum=fun(limit,aa);for(i=0;isum;i+)if(i%10=0&

9、i!=0)printf(n);printf(%5d,aai);10、在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的平方和。fun()函数的功能为求对角线元素的和。程序中如果用到循环,必须使用for循环。#includestdio.hvoidTestFunc();intfun(inta33)/*Begin*/intsum; inti;sum=0;for(i=0;i3;i+)sum=sum+aii*aii;returnsum; /*End*/voidmain()inti,j,s,a33;for(i=0;i3;i+)for(j=0;j3;j+)scanf(%d,&ai

10、j);s=fun(a);printf(Sum=%dn,s);TestFunc();11、编写程序,使用循环将矩阵(3行3列)各元素值乘2。例如:输入下面的矩阵:100200300400500600 700800900 程序输出:200 400 600 800 1000 1200 1400 1600 1800#includestdio.hvoidNONO();voidfun(intarray33)/*Begin*/inti,j;for(i=0;i3;i+)for(j=0;j3;j+)arrayij=arrayij*2;/*End*/voidmain()inti,j; intarray33=100

11、,200,300, 400,500,600, 700,800,900; for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,arrayij); printf(n); fun(array); printf(Convertedarray:n); for(i=0;i3;i+) for(j=0;j3;j+) printf(%7d,arrayij); printf(n);12、把20个随机数存入一个数组,然后输出该数组中的最大值。#includestdio.h#includestdlib.h#defineVSIZE20voidNONO();intvectorVSIZE;in

12、tfun(intlist,intsize)/*Begin*/inti,max=0;for(i=1;isize;i+)if(listmaxlisti)max=i;returnmax/*End*/voidmain()inti;for(i=0;iVSIZE;i+)vectori=rand();printf(Vector%d=%6dn,i,vectori);i=fun(vector,VSIZE);printf(nMaxnum:Vector%d=%6dn,i,vectori);NONO();inti,max=0;for(i=1;isize;i+)if(listmaxlisti)max=i;returnm

13、ax;13、求给定正整数n以内的素数之积。(n28)#includestdio.h#includeconio.hvoidTestFunc();longfun(intn)/*Begin*/longi,k;longs=1;for(i=2;i=n;i+)for(k=2;ki;k+)if(i%k=0)break;if(k=i)s=s*i;returns;/*End*/voidmain()intm;printf(Enterm:);scanf(%d,&m);printf(nTheresultis%ldn,fun(m);TestFunc();14、请编一个函数: voidfun(intttMN,intppN

14、),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。#include#include#defineM3#defineN4voidfun(intttMN,intppN)/*Begin*/inti,j;for(j=0;jN;j+)ppj=tt0j;for(i=1;iM;i+)if(ttijppj)ppj=ttij;/*End*/voidmain()inttMN=22,45,56,30,19,33,45,38,20,22,66,40;intpN,i,j,k;printf(Theoriginaldatais:n);for(i=0

15、;iM;i+)for(j=0;jN;j+)printf(%6d,tij);printf(n);fun(t,p);printf(nTheresultis:n);for(k=0;kN;k+)printf(%4d,pk);printf(n);NONO();15、求5行5列矩阵的主、副对角线上元素之和。注意,两条对角线相交的元素只加一次。例如:主函数中给出的矩阵的两条对角线的和为45。#includestdio.h#defineM5voidTestFunc();intfun(intaMM)/*Begin*/ints=0;inti,j;for(i=0;iM;i+)s=s+aii+aiM-1-i;s=s-

16、a(M-1)/2(M-1)/2;returns;/*End*/voidmain()intaMM=1,3,5,7,9,2,4,6,8,10,2,3,4,5,6,4,5,6,7,8,1,3,4,5,6;inty;y=fun(a);printf(s=%dn,y);TestFunc();16、编写程序求无理数e的值并输出。计算公式为:e=1+1/1!+1/2!+1/3!+.+1/n!当1/n!=0.)e=e+jc;j=1;for(k=1;k=i;k+)j=j*k;jc=1.0/j;i+;returne;/*End*/voidmain()floatfun();printf(无理数e的值是:%fn,fun

17、();TestFunc();17、用函数求fibonacci数列前28项的和。程序中如果用到循环,必须使用for循环。说明:fibonacci数列为数列的第一项值为1,第二项值也为1,从第三项开始,每一项均为其前面相邻两项的和。运行结果:。#includestdio.hvoidTestFunc();longsum(longf1,longf2)/*Begin*/longf,k=f1+f2;inti;for(i=3;i=28;i+)f=f1+f2;k=k+f;f1=f2;f2=f;return(k);/*End*/voidmain()longintf1=1,f2=1;printf(sum=%ldn

18、,sum(f1,f2);TestFunc();18、编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。调用该函数求出15300之间能同时被3和5整除的数的个数。#includestdio.hvoidTestFunc();intsum(intn)/*Begin*/if(n%3=0&n%5=0)return(1);return(0);/*End*/voidmain()inti,s=0;for(i=15;i=300;i+)if(sum(i)=1)s=s+1;printf(s=%dn,s);TestFunc();19、根据整型形参m,计算如下公式的值:y=1/21/41/6.1/2

19、m。程序中如果用到循环,必须使用for循环。例如:若m=9,则应输出:1.#includestdio.hvoidTestFunc();doublefun(intm)/*Begin*/doubley=0;inti;for(i=1;i=m;i+)y+=1.0/(2*i);return(y);/*End*/voidmain()intn;printf(Entern:);scanf(%d,&n);printf(nTheresultis%1fn,fun(n);TestFunc();20、求1到w之间的奇数之和。(w是大于等于100小于等于1000的整数)。#includestdio.h#includeco

20、nio.hvoidTestFunc();longfun(intw)/*Begin*/longy=0;inti;for(i=1;i=w;i+)if(i%2=1)y+=i;returny;/*End*/voidmain()intm;printf(Enterm:);scanf(%d,&m);printf(nTheresultis%ldn,fun(m);TestFunc();21、能计算从1开始到n的自然数的和,n由键盘输入,并在main()函数中输出。请使用for循环实现。#includestdio.hvoidTestFunc();intfun(intn)/*Begin*/intsum,i;sum=

21、0;for(i=1;i=n;i+)sum=sum+i;return(sum);/*End*voidmain()intm;printf(Enterm:);scanf(%d,&m);printf(nTheresultis%dn,fun(m);TestFunc();22、编写函数fun生成一个主对角线元素为1,其他元素都为0的3*3的二维数组。#includestdio.hvoidmain()inta33,i,j;voidfun(intarr3);voidTestFunc();fun(a);for(i=0;i3;i+)for(j=0;j3;j+)printf(%d,aij);printf(n);Te

22、stFunc();voidfun(intarr3)inti,j;/*Begin*/for(i=0;i3;i+)for(j=0;j3;j+)if(i=j)arrij=1;elsearrij=0/*End*/23、调用函数fun判断一个三位数是否水仙花数。在main函数中从键盘输入一个三位数,并输出判断结果。请编写fun函数。说明:所谓水仙花数是指一3位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1+125+27。#includestdio.hvoidTestFunc();intfun(intn)/*Begin*/intbw,sw,gw;bw=n/100;sw=(n-

23、bw*100)/10;gw=n%10;if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw)return1;elsereturn0;/*End*/voidmain()intn,flag;scanf(%d,&n);flag=fun(n);if(flag)printf(%d是水仙花数n,n);elseprintf(%d不是水仙花数n,n);TestFunc();24、编写函数对数组中的数据进行从小到大的排序。#include#includevoidTestFunc();voidsort(inta,intn)/*Begin*/inti,j,t;for(i=0;in-1;i+)for(j=0

24、;jaj+1)t=aj;aj=aj+1;aj+1=t;/*End*/voidmain()inta16,i;for(i=0;i16;i+)ai=rand()%10+15;for(i=0;i16;i+)printf(%3d,ai);printf(n-n);sort(a,16);for(i=0;i0)s=s/100;t=s%10*sl+t;sl=sl*10;/*End*/returnt;voidmain()longs,t,m;printf(nPleaseenters:);scanf(%ld,&s);m=fun(s,t);printf(Theresultis:%ldn,m);TestFunc();26

25、、将主函数中输入的字符串反序存放。例如:输入字符串abcdefg,则应输出gfedcba。#include#include#include#defineN81voidTestFunc();voidfun(char*str,intn)/*Begin*/inti,j;charc;for(i=0,j=n-1;ij;i+,j-)/*或者for(i=0,j=n-1;i4) z=x的八次幂(4x-4)z=4/(x*(x+1) (-4x-10)z=|x|+20(其他)提示:x的八次幂请使用幂函数pow求得,平方根函数是sqrt。#include#includestdio.hvoidTestFunc();fl

26、oaty(floatx)/*Begin*/floatz;if(x4)z=sqrt(x-4);elseif(x-4)z=pow(x,8);elseif(x-10)z=4/(x*(x+1);elsez=fabs(x)+20;return(z);/*End*voidmain()floatx;scanf(%f,&x);printf(y=%fn,y(x);TestFunc();29、编写函数fun,求任一整数m的n次方。#includestdio.hvoidTestFunc();longfun(intm,intn)/*Begin*/longintx=1;inti;for(i=1;i=n;i+)x=x*m

27、;returnx;/*End*/voidmain()intm,n;longs;longfun(int,int);printf(输入m和n的值:);scanf(%d,%d,&m,&n);s=fun(m,n);printf(s=%ldn,s);TestFunc();30、根据整型形参m,计算如下公式的值:y=1/5+1/61/71/81/9+1/10.1/(m+5)例如:若m=9,则应输出:1.#includestdio.hvoidTestFunc();doublefun(intm)/*Begin*/doubley=0;inti;for(i=0;i=m;i+)y+=1.0/(i+5);return

28、(y);/*End*voidmain()intn;printf(Entern:);scanf(%d,&n);printf(nTheresultis%1fn,fun(n);TestFunc();31、产生20个随机整数放入二维数组a54中,利用函数row_sum求每行元素的和,并将和放到另一个数组中。#includestdlib.h#includestdio.hvoidrow_sum(inta54,intb5)/*Begin*/inti,j;for(i=0;i5;i+)bi=0;for(j=0;j4;j+)bi=bi+aij;/*End*/voidmain()voidTestFunc();int

29、a54,b5,i,j;for(i=0;i5;i+)for(j=0;j4;j+)aij=rand()%10;for(i=0;i5;i+)for(j=0;j4;j+)printf(%5d,aij);printf(n);row_sum(a,b);for(i=0;i5;i+)printf(%6d,bi);printf(n);TestFunc();32、判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。说明:所谓同构数是指这样的数,这个数出现在它的平方数的右边。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。#includes

30、tdio.hvoidTestFunc();intfun(intx)/*Begin*/intk;k=x*x;if(x9&k%100=x)return1;else return0;/*End*/voidmain()intx,y;printf(nPleaseenteraintegernumbers:);scanf(%d,&x);if(x100)printf(dataerror!n);exit(0);y=fun(x);if(y)printf(%dYESn,x);elseprintf(%dNOn,x);TestFunc();33、求一个给定字符串中的字母的个数。#includestdio.hvoidTe

31、stFunc();intfun(chars)/*Begin*/inti,k=0;for(i=0;si!=0;i+)if(si=a&si=A&si=Z)k+;returnk;/*End*/voidmain()charstr=Bestwishesforyou!;intk;k=fun(str);printf(k=%dn,k);TestFunc();34、编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=1/2!+1/4!+.+1/m!(m是偶数)。#includestdio.hvoidTestFunc();doublefun(intm)/*Begin*/doubley=0.0;inti,

32、j;doubles=1;for(i=2;i=m;i+=2)for(j=i-1;j=i;j+)s=s*j;y=y+1.0/s;returny;/*End*/voidmain()intn;printf(Entern:);scanf(%d,&n);printf(nTheresultis%1fn,fun(n);TestFunc();35、编写函数fun其功能是:根据整型形参m,计算如下公式的值:y=11/31/51/7.1/(2m+1)例如:若m=9,则应输出:2.#includestdio.hvoidTestFunc();doublefun(intm)/*Begin*/doubley=1;inti;

33、for(i=1;i=m;i+)y+=1.0/(2*i+1);return(y);/*End*/voidmain()intn;printf(Entern:);scanf(%d,&n);printf(nTheresultis%1fn,fun(n);TestFunc();36、判断m是否为素数。#includestdio.hvoidTestFunc();intfun(intm)/*Begin*/inti,k=1;if(m=1)k=0;for(i=2;im;i+)if(m%i=0)k=0;returnk;/*End*/voidmain()intm,k=0;intfun(intm);for(m=100;

34、m200;m+)if(fun(m)printf(%4d,m);k+;if(k%5=0)printf(n);printf(k=%dn,k);TestFunc();37、求1到w之间的奇数之和。(w是大于等于100小于等于1000的整数)。#includestdio.h#includeconio.hvoidTestFunc();longfun(intw)/*Begin*/longy=0;inti;for(i=1;i=w;i+)if(i%2=1)y+=i;returny;/*End*/voidmain()intm;printf(Enterm:);scanf(%d,&m);printf(nTheres

35、ultis%ldn,fun(m);TestFunc();38、将主函数中输入的字符串反序存放。例如:输入字符串abcdefg,则应输出gfedcba。#include #include #include #define N 81void TestFunc();void fun(char *str,int n) /*Begin*/ int i,j; char c;for(i=0,j=n-1;ij;i+,j-) /*或者for(i=0,j=n-1;in/2;i+,j-)*/c=*(str+i);*(str+i)=*(str+j);*(str+j)=c; /* End */ void main() char s N; int l; printf(input a string:);gets(s); l=strlen(s); fun(s,l); printf(The new string is :);puts(s); TestFunc();39.功能:在键盘上输入一个3行3列矩阵的各个元素的值(值为整数),然后输出主对角线元素的积。fun()函数的功能为求对角线元素的积。#include stdio.hvoid TestFunc()

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!