1、 printf(%f ,ave);i+) if(aiave)k+; return k;第 6 题 (10.0 分) 题号 :355对长度为 8 个字符的字符串,将 8 个字符按降序排列 例如:原来的字符串为 CEAedcab, 排序后输出为 edcbaECA 答案:char t;num;for(j=i+1;jj+)if(sisj) t=si;si=sj;sj=t;第 7 题 (10.0 分) 题号 :44 功能:求出二维数组周边元素之和,作为函数值返回 维数组的值在主函数中赋予。int s=0;M;i+) s=s+ai0+aiN-1;for(j=1;N-1;s=s+a0j+aM-1j;retu
2、rn s;第 8 题 (10.0 分) 题号 :339判断整数 x 是否是同构数。若是同构数,函数返回 1;否则返回 0。 x 的值由主函数从键盘读入,要求不大 于 100 。说明:所谓“同构数”是指这样的数,这个数出现在它的 平方数的右边。输入整数 5,5的平方数是 25,5是 25 中右侧的数,所 以5 是同构数。int k;k=x*x;if(k%10=x)|(k%100=x)return 1;elsereturn 0;第 9 题 (10.0 分) 题号 :383用函数实现字符串的复制 , 不允许用 strcpy() 函数。 答案:str1i!=0;i+) str2i=str1i;str2
3、i=第 10 题 ( 10.0 分) 题号 :310计算并输出给定整数 n 的所有因子之和(不包括 1 与 自身)。、.、“注意:n 的值不大于 1000 。n 的值为 855 时,应输出 704 。int s=0,i;for(i=2;i+) if(n%i=0)s=s+i; return s;第 11 题 ( 10.0 分) 题号 :354求小于 lim 的所有素数并放在 aa 数组中,该函数返回 所求出素数的个数。int n=0; int i,j;=lim;i+) for(j=2;i;j+) if(i%j=0) break; if(j=i) aan+=i; return n;第 12 题 (
4、 10.0 分) 题号 :341删除所有值为 y 的元素。数组元素中的值和 y 的值由 主函数通过键盘输入。 int i,j;*n;)if(bbi=y)for(j=i;j+) bbj=bbj+1; *n=*n-1;i+;第 13 题 ( 10.0 分) 题号 :317求岀NXM整型数组的最大元素及其所在的行坐标及 列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。输入的数组为 :1 2 34 15 612 18 910 11 2求岀的最大数为 18, 行坐标为 2,列坐标为 1。int max,i,j; max=array 00;Row=0;Col=0;N;for(j=0;if(maxm
5、ax) max=ai; else if(aimin) min=ai;return(max*min);第 15 题 ( 10.0 分) 题号 :501 题目:从键盘输入一个大写字母,要求改用小写字母输出 答案: c=c+32;return c;第 16 题 ( 10.0 分) 题号 :502题目:用 while语句求1100的累计和。 int i=1,sum=0;while(i=n)sum=sum+i;第 17题 (10.0 分) 题号 :409f-32 ),输入华氏温度求摄氏温度。转换公式为 c=5/9 输出结果取两位小数。 float n;n=(5.0/9.0)*(m-32);return
6、n;第 18题 (10.0 分) 题号 :29对任意输入的 x ,用下式计算并输出 y 的值5 x10 答案: int m;if(n=10)m=-5;else m=0;else m=5;第 19 题 ( 10.0 分) 题号 :382给定 n 个数据 , 求最小值出现的位置(如果最小值 出现多次 , 求出第一次出现的位置即可) 。int i,k;k=0; for(i=1;i+) if(siamax) amax=ai; return amax;第 21 题 ( 10.0 分) 题号 :384a54产生 20 个 30,120 上的随机整数放入二维数组 中,求每行元素的和。5; bi=0;for(
7、j=0;4;bi=bi+aij; 第 22 题 ( 10.0 分) 题号 :334求给定正整数 n 以内的素数之积。 ( n28) 答案:long i,k;long s=1;for(k=2;ka&siAZ) k+;return k;第 24 题 ( 10.0 分) 题号 :361编写程序 , 求矩阵( 3 行 3列)与 2 的乘积 例如:输入下面的矩阵 :100 200 300400 500 600700 800 900 程序输出 :200 400 600800 1000 12001400 1600 1800 答案: i 3; i+) for(j=0; j j+)arrayij=arrayij
8、*2;第 25 题 ( 10.0 分) 题号 :400编写 main 程序调用函数 fact 求解从 m 个元素选 n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!) 。要求:m不能小于n,否则应有容错处理。函数 fact(x) 的功能是求 x! 。while(mn)printf(m 和 n 输入错!请重新输入 :n);scanf(%d%d,&m,&n);对任意输入的x ,用下式计算并输出 y 的值zhsgs=fact(m)/(fact(n)*fact(m-n);第 26题 (10.0 分) 题号 :411-1 x0 答案:0)m=-1;if(n=0) m=0;els
9、e m=1;=0)m=1;else m=-1;第 27题 (10.0 分) 题号 :509编写函数fun其功能是:根据整型形参 m,计算如下公式的值:y=1 + 1/3 + 1/5 + 1/7 + 1/(2m+1)若 m=9,则应输岀:2.133256double y=1; iaij)s=aij;第 29 题 ( 10.0 分) 题号 :330计算出 k 以内最大的 10 个能被 13 或 17 整除的自然数之和。( k 3000 ) 答案:int a=0,b=0;while(k=2)&(b0) d=n%10; s+=d*d*d; n/=10; return s;第 31 题 ( 10.0 分
10、) 题号 :348 功能:从低位开始取出长整型变量 s 中偶数位上的数,依次构成一个新数放在 t 中。当 s 中的数为: 7654321 时, t 中的数为: 642。long sl=10;s /= 10;t = s % 10;while(s 0) s = s/100;t = s%10*sl + t;sl = sl * 10;第 32 题 ( 10.0 分) 题号 :313 功能:从键盘为一维整型数组输入 10 个整数,调用 fun 函数 找出其中最小的数,并在 main 函数中输出。int min,i;min=x0;if(xi & stri) stri=stri-32;第 34 题 ( 10
11、.0 分) 题号 :397编写函数 fun(str,i,n) ,从字符串 str 中删除第 i 个 字符开始的连续 n 个字符(注意 :str0 代表字符串 的第一个字符) 。while(stri+n-1)stri-1=stri+n-1;stri-1=第 35 题 ( 10.0 分) 题号 :325 功能:在键盘上输入一个 3 行 3 列矩阵的各个元素的值(值 为整数),然后输出主对角线元素的平方和 , 并在 fun() 函数中输出。sum=0;sum=sum+aii*aii;第 36 题 ( 10.0 分) 题号 :388 功能:编写函数判断一个整数能否同时被 3 和 5 整除,若能则返回值
12、为 1 ,否则为 0。调用该函数求出 15300 之 间能同时被 3 和 5 整除的数的个数。 if(n%3=0&n%5=0) return(1);return(0);第 37 题 ( 10.0 分) 题号 :399编写程序求无理数 e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+ +1/n!当 1/n!=0.000001)e=e+jc;j=1;for(k=1;=i;j=j*k;jc=1.0/j;return e;第 38 题 ( 10.0 分) 题号 :312调用函数 fun 判断一个三位数是否 水仙花数 。 在 main 函数中从键盘输入一个三位数,并输 出判断结果。请
13、编写 fun 函数。所谓 水仙花数 是指一 3 位数,其各位数字立方和 等于该数本身。 153 是一个水仙花数,因为 153=1+125+27 。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;第 39 题 ( 10.0 分) 题号 :335求一个n位自然数的各位数字的积。 (n是小于10的自然数)long d,s=1; s*=d;n/=10;第 40 题 ( 10.0 分) 题号 :379给定 n 个数据 , 求最大值出现的位置(如
14、果最大值出 现多次,求出第一次出现的位置即可 ) 。return(k+1);第 41 题 ( 10.0 分) 题号 :22从键盘为一维整型数组输入 10 个整数,调用 fun 函数找出其中最小的数,并在 main 函数中输出。 请编写 fun 函数。第 42 题 ( 10.0 分) 题号 :381求一批数中小于平均值的数的个数int i,sum=0,k=0;double average;sum=sum+ai;average=sum*1.0/n;if(averageai) k+;第 43 题 ( 10.0 分) 题号 :352根据整型形参 m,计算如下公式的值: y=1/2 + 1/4 +1/6
15、 . 1/2m 。1.414484double y=0; i+)y+=1.0/(2*i);return(y);第 44 题 (10.0 分) 题号 :33用do-while 语句求1100的累计和 答案: int i =1, sum =0;do sum = sum + i; while ( i listi) min=i; return min;第 46 题 ( 10.0 分) 题号 :343将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。 将 a 数的十位和个位数依次放 在c数的个位和百位上,b数的十位和个位数依次放 在c数的十位和千位上。当 a=45, b=12, 调用该函数后,
16、 c=2514 。*c=a/10+a%10*100+b/10*10+b%10*1000;第 47 题 ( 10.0 分) 题号 :504 功能:编写程序打印如图 1 所示图形。*要求使用 abs() 。for(m=-i;mm+)for(n=0;naj+1) t=aj;aj=aj+1;aj+1=t;第 52 题 ( 10.0 分) 题号 :323求1到w之间的奇数之和。(w是大于等于100小于等 于 1000 的整数)long y=0; int i;=w;if(i%2=1)y+=i;第 53 题 ( 10.0 分) 题号 :380 功能:用辗转相除法求两个整数的最大公约数。int r,t;m) t=n;n=m;m=t; r=n%m;while(r! n=m;m=r;r=n%m; return(m);第 54 题 ( 10.0 分) 题号 :503 题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于 80)。ci!i+) if(cici)a=a+1;else if (ci09num=num+1;else if (ci= b=b+1;other=other+1;第 55 题 ( 10.0 分) 题号 :395
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1