您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > c语言程序设计题目及答案
1一、程序设计共113题第1题题号:319#includestdio.hvoidwwjt();intfun(intm){inti,k=1;if(m=1)k=0;for(i=2;im;i++)if(m%i==0)k=0;returnk;}第2题题号:351-----------功能:请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。#includeconio.h#includestdio.h#defineM3#defineN4voidwwjt();voidfun(inttt[M][N],intpp[N]){inti,j;for(j=0;jN;j++){pp[j]=tt[0][j];for(i=1;iM;i++)if(tt[i][j]pp[j])pp[j]=tt[i][j];}第3题题号:375功能:从键盘上输入任意实数,求出其所对应的函数值。z=e的x次幂(x10)z=log(x+3)(x-3)z=sin(x)/((cos(x)+4)#includemath.h#includestdio.hvoidwwjt();doubley(floatx){doublez;if(x10)z=exp(x);elseif(x-3)z=log(x+3);elsez=sin(x)/(cos(x)+4);return(z);}第4题题号:334功能:求给定正整数n以内的素数之积。(n28)#includestdio.h#includeconio.hvoidwwjt();longfun(intn){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;}第5题题号:333功能:计算并输出给定整数的所有因子之积(包括自身)。规定这个整数的值不大于50。#includestdio.h#includeconio.hvoidwwjt();longintfun(intn){2longs=1,i;for(i=2;i=n;i++)if(n%i==0)s=s*i;returns;}第6题题号:50功能:求出菲波那契数列的前一项与后一项之比的极限的近似值例如:当误差为0.0001时,函数值为0.618056。#includestdio.h#includemath.hvoidwwjt();floatfun(){floatf1=1,f2=1,f3;floatr1=2,r2;do{r2=r1;r1=f1/f2;f3=f1+f2;f1=f2;f2=f3;}while(fabs(r1-r2)1e-4);returnr1;}第7题题号:394功能:产生20个[30,120]上的随机整数放入二维数组a[5][4]中,求其中的最小值。#includestdlib.h#includestdio.hvoidwwjt();intamin(inta[5][4]){inti,j,s;s=a[0][0];for(i=0;i5;i++)for(j=0;j4;j++)if(sa[i][j])s=a[i][j];return(s);}第8题题号:337功能:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的十位和千位上。例如:当a=45,b=12。调用该函数后,c=2415。includestdio.hvoidwwjt();voidfun(inta,intb,long*c){*c=a/10*100+a%10+b/10*10+b%10*1000;}第9题题号:388功能:编写函数判断一个整数能否同时被3和5整除,若能则返回值为1,否则为0。调用该函数求出15~300之间能同时被3和5整除的数的个数。#includestdio.hvoidwwjt();intsum(intn){if(n%3==0&&n%5==0)return(1);return(0);}第10题题号:16功能:编写函数fun求1!+2!+3!+……+n!的和,在main函数中由键盘输入n值,并输出运算结果。请编写fun函数。例如:若n值为5,则结果为153。#includestdio.hvoidwwjt();longintfun(intn){inti;3floatf=1,s=0;for(i=1;i=n;i++){f=f*i;s=s+f;}returns;第11题题号:329功能:对某一正数的值保留2位小数,并对第三位进行四舍五入。#includestdio.h#includeconio.hvoidwwjt();doublefun(floath){inti;i=(int)(h*1000)%10;if(i=5)return(int)(h*100+1)/100.0;elsereturn(int)(h*100)/100.0;第12题题号:410功能:编写函数fun将一个数组中的值按逆序存放,并在main()函数中输出。例如:原来存顺序为8,6,5,4,1。要求改为:1,4,5,6,8。#includestdio.h#defineN5voidwwjt();intfun(intarr[],intn){inti,t;for(i=0;in/2;i++){t=arr[i];arr[i]=arr[n-1-i];arr[n-1-i]=t;}第13题题号:327功能:能计算从1开始到n的自然数的和,n由键盘输入,并在main()函数中输出。#includestdio.hvoidwwjt();intfun(intn){intsum,i;sum=0;for(i=1;i=n;i++){sum=sum+i;}return(sum);第14题题号:507功能:编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度。#includestdio.hvoidwwjt();intfun(char*p1){char*p;intn=0;p=p1;while(*p++)n++;returnn;第15题题号:44功能:求出二维数组周边元素之和,作为函数值返回。二维数组的值在主函数中赋予。#defineM4#defineN5#includestdio.hvoidwwjt();intfun(inta[M][N]){ints=0;inti,j;for(i=0;iM;i++)s=s+a[i][0]+a[i][N-1];for(j=1;jN-1;j++)s=s+a[0][j]+a[M-1][j];returns;第16题题号:364功能:求一个四位数的各位数字的立方和。#includestdio.h4voidwwjt();intfun(intn){intd,s=0;while(n0){d=n%10;s+=d*d*d;n/=10;}returns;第17题题号:339功能:判断整数x是否是同构数。若是同构数,函数返回1;否则返回0。x的值由主函数从键盘读入,要求不大于100。说明:所谓“同构数”是指这样的数,这个数出现在它的平方数的右边。例如:输入整数5,5的平方数是25,5是25中右侧的数,所以5是同构数。#includestdio.hvoidwwjt();intfun(intx){intk;k=x*x;if((k%10==x)||(k%100==x))return1;elsereturn0;第18题题号:331功能:找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。#includestdio.h#includeconio.hvoidwwjt();intfun(intn){inti,k;for(i=n+1;;i++){for(k=2;ki;k++)if(i%k==0)break;if(k==i)return(i);}第19题题号:317功能:求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。例如:输入的数组为:12341561218910112求出的最大数为18,行坐标为2,列坐标为1。#defineN4#defineM3#includestdio.hvoidwwjt();intRow,Col;intfun(intarray[N][M]){intmax,i,j;max=array[0][0];Row=0;Col=0;for(i=0;iN;i++){for(j=0;jM;j++)if(maxarray[i][j]){max=array[i][j];Row=i;Col=j;}}return(max);第20题题号:360【程序设计】5功能:把20个随机数存入一个数组,然后输出该数组中的最大值。#includestdio.h#defineVSIZE20voidwwjt();intvector[VSIZE];intfun(intlist[],intsize){inti,max=0;for(i=1;isize;i++)if(list[max]list[i])max=i;returnmax;第21题题号:355功能:对长度为8个字符的字符串,将8个字符按降序排列。例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。#includestdio.h#includectype.h#includeconio.hvoidwwjt();voidfun(char*s,intnum){inti,j;chart;for(i=0;inum;i++)for(j=i+1;jnum;j++)if(s[i]s[j]){t=s[i];s[i]=s[j];s[j]=t;}第22题题号:405功能:编写函数fun计算下列分段函数的值:x^2+x+6x0且x≠-3f(x)=x^2-5x+60≤x10且x≠2及x≠3x^2-x-1其它#includestdio.hvoidwwjt();floatfun(floatx){floaty;if(x0&&x!=-3.0)y=x*x+x+6;elseif(x=0&&x10.0&&x!=2.0&&x!=3.0)y=x*x-5*x+6;elsey=x*x-x-1;returny;第23题题号:338功能:编写程序,实现矩阵(3行3列)的转置(即行列互换)例如:输入下面的矩阵:100200300400500600700800900程序输出:100400700200500800300600900#includestdio.hvoidwwjt();intfun(intarray[3][3]){inti,j,t;for(i=0;i3;i++)for(j=0;ji;j++){t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}第24题题号:392功能:求一批数中最大值和最小值的积。#defineN30#includestdlib.h#includestdio.hvoidwwjt();intmax_min(inta[],intn){6inti,max,min;max=min=a[0];for(i=1;in;i++)if(a[i]max)max=a[i];elseif(a[i]min)min=a[i];return(max*min);第25题题号:407功能:编写函数fun求sum=d+dd+ddd+……+dd...d(n个d),其中d为1-9的数字。例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。#includestdio.hvoidwwjt();longintfun(in
本文标题:c语言程序设计题目及答案
链接地址:https://www.777doc.com/doc-2908358 .html