c语言程序设计题目及答案_第1页
c语言程序设计题目及答案_第2页
c语言程序设计题目及答案_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一 、 程 序 设 计 共 1 1 3 题第 1 题题号 :319 #include"" voidwwjt(); intfun(intm) inti,k=1; if(m<=1)k=0; for(i=2;i<m;i+) if(m%i=0)k=0;returnk;第 2 题题号 :351功能:请编一个函数 voidfun(intttMN,intppN) , tt指向一个M行N列的二维数组,求 出二维数组每列 中最大元素,并依次放入 pp 所指一维 数组中。二维 数组中的数已在主函数中赋予。 #include<> #include<> #def

2、ineM3 #defineN4 voidwwjt();voidfun(intttMN,intppN)inti,j;for(j=0;j<N;j+)ppj=tt0j; for(i=1;i<M;i+) if(ttij>ppj) ppj=ttij;第 3 题题号 :375 功能:从键盘上输入任意实数 , 求出 其所对应的函数值。z=e 的 x 次幂( x>10) z=log(x+3)(x>-3)z=sin(x)/(cos(x)+4)#include<>#include<> voidwwjt();doubley(floatx)doublez;if(x

3、>10)z=exp(x); elseif(x>-3)z=log(x+3); elsez=sin(x)/(cos(x)+4);return(z);第 4 题题号 :334 功能:求给定正整数 n 以内的素数之 积。( n<28)#include<>#include""voidwwjt(); longfun(intn)longi,k;longs=1;for(i=2;i<=n;i+)for(k=2;k<i;k+)if(i%k=0)break; if(k=i)s=s*i;returns;第 5 题题号 :333 功能:计算并输出给定整数的所

4、有因 子之积(包括自身)。 规定这个整数的值不大于 50。 #include<>#include""voidwwjt();longintfun(intn)longs=1,i;for(i=2;i<=n;i+)if(n%i=0)s=s*i;returns;第 6 题题号 :50 功能:求出菲波那契数列的前一项与 后一项之比的极限的 近似值例如:当误差为时,函数值 为。#include<>#include""voidwwjt();floatfun() floatf1=1,f2=1,f3; floatr1=2,r2;dor2=r1;

5、r1=f1/f2;f3=f1+f2;f1=f2;f2=f3;while(fabs(r1-r2)>1e-4);returnr1;第 7 题题号 :394功能:产生 20 个30,120 上的随机整 数放入二维数组a54 中, 求其中的最小值。#include""#include<> voidwwjt();intamin(inta54)inti,j,s;s=a00;for(i=0;i<5;i+)for(j=0;j<4;j+) if(s>aij)s=aij;return(s);第 8 题题号 :337 功能:将两个两位数的正整数 a、b 合 并

6、形成一个整数放在c 中。合并的方式是:将 a 数的十位和 个位数依次放在 c 数的百位和个位上, b 数的十位和 个位数依次放在 c 数的十位和千位上。例如:当a=45, b=12。调用该函数 后, c=2415。include<> voidwwjt();voidfun(inta,intb,long*c)*c=a/10*100+a%10+b/10*10+b%10*10 00;第 9 题题号 :388 功能:编写函数判断一个整数能否同 时被 3 和 5 整除,若能 则返回值为 1,否则为 0。调用该函数 求出 15300 之间能同时被 3 和 5 整除的数的个数。 #include&

7、lt;>voidwwjt(); intsum(intn) if(n%3=0&&n%5=0)return(1); return(0);第 10 题题号 :16功能:编写函数 fun 求1!+2!+3!+n!的和,在ma in函数中由键盘输入 n 值,并输出运算结 果。请编写 fun函数。例如:若 n 值为 5,则结果为 153。#include<> voidwwjt();longintfun(intn)inti;floatf=1,s=0;for(i=1;i<=n;i+)f=f*i;s=s+f; returns;第 11 题题号 :329功能:对某一正数的值

8、保留 2 位小 数,并对第三位进行四舍 五入。#include<>#include"" voidwwjt();doublefun(floath)inti; i=(int)(h*1000)%10;if(i>=5) return(int)(h*100+1)/;else return(int)(h*100)/; 第 12 题题号 :410 功能:编写函数 fun 将一个数组中的 值按逆序存放,并在 main() 函数中输出。例如:原来存顺序为 8,6,5,4,1 。要 求改为: 1,4,5,6,8 。#include<>#defineN5 voidw

9、wjt();intfun(intarr,intn)inti,t;for(i=0;i<n/2;i+) t=arri;arri=arrn-1-i; arrn-1-i=t;第 13 题题号 :327功能:能计算从 1 开始到 n 的自然数 的和,n由键盘输入, 并在 main() 函数中输出。#include<> voidwwjt(); intfun(intn) intsum,i; sum=0;for(i=1;i<=n;i+)sum=sum+i;return(sum);第 14 题题号 :507 功能:编写函数 fun 求一个字符串的 长度,在 main 函数中 输入字符串

10、, 并输出其长度。 #include<>voidwwjt();intfun(char*p1)char*p;intn=0;p=p1;while(*p+)n+;returnn;第 15 题题号 :44 功能:求出二维数组周边元素之和, 作为函数值返回。二 维数组的值在主函数中赋予。 #defineM4#defineN5#include<> voidwwjt();intfun(intaMN)ints=0;inti,j;for(i=0;i<M;i+) s=s+ai0+aiN-1; for(j=1;j<N-1;j+) s=s+a0j+aM-1j;returns;第 1

11、6 题题号 :364 功能:求一个四位数的各位数字的立 方和。#include<>voidwwjt();intfun(intn)intd,s=0;while(n>0)d=n%10;s+=d*d*d;n/=10;returns;第 17 题题号 :339功能:判断整数 x 是否是同构数。若 是同构数,函数返回 1;否则返回0。x的值由主函数从键盘读入,要求不大于 100。说明:所谓“同构数”是指这样的 数,这个数出现在它的 平方数的右边。例如:输入整数 5,5的平方数是 25,5 是 25 中右侧的数,所以 5 是同构数。#include<>voidwwjt();i

12、ntfun(intx)intk;k=x*x;if(k%10=x)|(k%100=x)return1;elsereturn0;第 18 题题号 :331 功能:找出一个大于给定整数且紧随 这个整数的素数,并 作为函数值返回。#include<>#include""voidwwjt();intfun(intn)inti,k;for(i=n+1;i+)for(k=2;k<i;k+)if(i%k=0)break;if(k=i)return(i);第 19 题题号 :317功能:求出NXM整型数组的最大元素 及其所在的行坐标及 列坐标(如果最大元素不唯一,选择 位置

13、在最前面 的一个)。例如:输入的数组为 :12341561218910112求出的最大数为 18,行坐标为 2,列坐 标为 1。#defineN4#defineM3#include<> voidwwjt(); intRow,Col;intfun(intarrayNM) intmax,i,j;max=array00;Row=0;Col=0;for(i=0;i<N;i+)for(j=0;j<M;j+)if(max<arrayij)max=arrayij;Row=i;Col=j;return(max);第 20 题题号 :360【程序设计】功能:把 20个随机数存入一个

14、数组, 然后输出该数组中的最大值。#include<> #defineVSIZE20 voidwwjt();intvectorVSIZE; intfun(intlist,intsize)inti,max=0;for(i=1;i<size;i+)if(listmax<listi)max=i;returnmax;第 21 题题号 :355功能:对长度为 8 个字符的字符串, 将 8 个字符按降序排列。例如:原来的字符串为CEAedcab排序后输出为 edcbaECA。#include<>#include<>#include<>voidww

15、jt();voidfun(char*s,intnum)inti,j;chart;for(i=0;i<num;i+) for(j=i+1;j<num;j+) if(si<sj)t=si;si=sj;sj=t;第 22 题题号 :405功能:编写函数 fun 计算下列分段函 数的值:xA2+x+6x<0 且 xm -3f(x)=xA2- 5x+60Wx<10 且 xm2 及 xm3xA2-x-1 其它#include<> voidwwjt();floatfun(floatx)floaty;if(x<0&&x!=y=x*x+x+6;el

16、seif(x>=0&&x<&&x!=&&x!= y=x*x-5*x+6;elsey=x*x-x-1;returny;第 23 题题号 :338 功能:编写程序,实现矩阵 (3行3列) 的转置(即行列互换) 例如:输入下面的矩阵:000程序输出:000#include<>voidwwjt();intfun(intarray33)inti,j,t;for(i=0;i<3;i+)for(j=0;j<i;j+)t=arrayij;arrayij=arrayji;arrayji=t;第 24 题题号 :392 功能:求一

17、批数中最大值和最小值的 积。#defineN30#include""#include<>voidwwjt();intmax_min(inta,intn)inti,max,min;max=min=a0;for(i=1;i<n;i+)if(ai>max)max=ai; elseif(ai<min)min=ai; 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)

18、 , d 和 n 在主函 数中输入。#include<>voidwwjt();longintfun(intd,intn)longints=0,t=0;inti;for(i=1;i<=n;i+)t=t+d;s=s+t;d=d*10;returns;第 26 题题号 :395功能:求 n 阶方阵主、副对角线上的 元素之积。*/#defineN4 #include"" #include<> voidwwjt(); floatmul(intarrN) inti,j;floatt=1;for(i=0;i<N;i+)for(j=0;j<N;j+

19、) if(i=j|i+j=N-1) t=t*arrij; return(t);第 27 题题号 :42功能:从字符串 s 中删除指定的字符 c。#include<> voidwwjt(); fun(chars,charc) inti,k=0;for(i=0;si!='0'i+) if(si!=c)sk+=si;sk='0'第 28 题题号 :311功能:计算 n 门课程的平均值,计算 结果作为函数值返回。例如:若有 5 门课程的成绩是: 92, 76,69,58,88,则函数的值为。#include<> voidwwjt();floatf

20、un(inta,intn)inti;floaty=0;for(i=0;i<n;i+)y+=ai;y=y/n;returny;第 29 题题号 :348 功能:从低位开始取出长整型变量 s 中偶数位上的数,依次 构成一个新数放在 t 中。例如:当 s 中的数为: 7654321时, t 中的数为: 642。#include<>voidwwjt();longfun(longs,longt)longsl=10;s/=10;t=s%10;while(s>0)s=s/100;t=s%10*sl+t;sl=sl*10;功能:编写函数求3!+6!+9!+12!+15+18!+21!

21、。#include<>voidwwjt();floatsum(intn)inti,j;floatt,s=0;for(i=3;i<=n;i=i+3)t=1;for(j=1;j<=i;j+)t=t*j;s=s+t;return(s);第 31 题题号 :397功能:编写函数 fun(str,i,n) ,从字 符串 str 中删除第 i 个 字符开始的连续 n 个字符(注意 :str0 代表字符串的第一个字符)。#include<> voidwwjt();fun(charstr,inti,intn)while(stri+n-1)stri-1=stri+n-1;i+

22、;stri-1='0'第 32 题题号 :29功能:对任意输入的X,用下式计算 并输出 y 的值。5X<10y=0X=10-5X>10#include<>voidwwjt();intfun(intn)答案: intm;if(n<10)m=5;elseif(n=10)m=0;elsem=-5;returnm;或intm;if(n>=10)if(n>10)m=-5;elsem=0;elsem=5;returnm;第 33 题题号 :323功能:求1到w之间的奇数之和。(w 是大于等于 100 小于等 于 1000 的整数)#include&

23、lt;>#include"" voidwwjt();longfun(intw)longy=0;inti;for(i=1;i<=w;i+) if(i%2=1)y+=i; returny;第 34 题题号 :312功能:调用函数 fun 判断一个三位数 是否"水仙花数" 。在 main 函数中从键盘输入一个三位 数,并输 出判断结果。请编写 fun 函数。 说明:所谓"水仙花数"是指一 3位 数,其各位数字立方和 等于该数本身。例如: 153 是一个水仙花数,因为 153=1+125+27。#include<> v

24、oidwwjt(); intfun(intn) intbw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%1 0;if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw )return1;elsereturn0;第 35 题题号 :378 功能:编写函数用冒泡排序法对数组 中的数据进行从小到 大的排序。#include<>#include<> voidwwjt();voidsort(inta,intn)inti,j,t;for(i=0;i<n-1;i+) for(j=0;j<n-1-i;j+)if(aj>aj+1)t

25、=aj;aj=aj+1;aj+1=t;第 36 题题号 :504功能:编写程序打印如图 1 所示图 形。*要求:要求使用 abs() 。#include<>#include""voidwwjt();voidfun(inti)答案: for(m=-i;m<=i;m+)for(n=0;n<abs(m);n+)printf(""); for(n=0;n<7-2*abs(m);n+)printf("*");printf("n");第 37 题题号 :342 功能:在键盘上输入一个 3行 3列矩

26、 阵的各个元素的值(值 为整数),然后输出矩阵第一行与第 三行元素之和,并在 fun() 函数中输出。#include<>voidwwjt();main()inti,j,s,a33;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf("%d",&aij);s=fun(a);printf("Sum=%dn",s);wwjt();intfun(inta33)intsum;inti,j;sum=0;for(i=0;i<3;i+=2) for(j=0;j<3;j+) sum=sum+aij;retu

27、rnsum;第 38 题题号 :382功能:给定 n 个数据 , 求最小值出现的 位置(如果最小值出现多次 , 求出第一次出现的位置即 可)。#include<> voidwwjt();intstation(ints,intn)inti,k;k=0;for(i=1;i<n;i+) if(si<sk)k=i;return(k);第 39 题题号 :62功能:求 5行 5列矩阵的主、副对角 线上元素之和。注意, 两条对角线相交的元素只加一次。 例如:主函数中给出的矩阵的两条对 角线的和为 45。#include<>#defineM5voidwwjt();intf

28、un(intaMM)ints=0;inti,j;for(i=0;i<M;i+) s=s+aii+aiM-1-i; s=s-a(M-1)/2(M-1)/2;returns;第 40 题题号 :503 题目:分别统计字符串中字母、数 字、空格和其他字符出现的 次数(字符长度小于 80)。 #include<> voidwwjt();/*- 全局变量, a 用于保存字母个数、 num用于保存数字个数b 用于保存空格个数、 other 用于保存 其他字符字数 */ inta=0,num=0,b=0,other=0; voidcount(charc) 答案: inti;for(i=0;

29、ci!='0'i+) if(ci>='A'&&ci<='Z')|(ci >='a'&&ci<='z') a=a+1;elseif(ci>='0'&&ci<='9') num=num+1;elseif(ci='')b=b+1; else other=other+1;第 41 题题号 :387 功能:求一批数中最大值和最小值的 差。#defineN30 #include"&quo

30、t; #include<> voidwwjt();intmax_min(inta,intn) inti,max,min; max=min=a0; for(i=1;i<n;i+) if(ai>max)max=ai;elseif(ai<min)min=ai; return(max-min);第 42 题题号 :347功能:把 20 个随机数存入一个数组, 然后输出该数组中的 最小值。其中确定最小值的下标的操 作在 fun 函数中 实现,请给出该函数的定义。#include<> #defineVSIZE20 voidwwjt();intvectorVSIZE

31、; intfun(intlist,intsize)inti,min=0;for(i=1;i<size;i+) if(listmin>listi) min=i;returnmin;第 43 题题号 :365功能:求 1 到 100 之间的偶数之积。 #include<>voidwwjt();doublefun(intm)doubley=1;inti;for(i=1;i<=m;i+) if(i%2=0)y*=i;returny;第 44 题题号 :366 功能:求一组数中大于平均值的数的 个数。例如:给定的一组数为 1,3,6,9,4,23,35,67,12,88 时

32、,函 数值为 3。#include<> voidwwjt();intfun(inta,intn)inti,k=0;floats=0,ave;for(i=0;i<n;i+)s+=ai;ave=s/n;printf("%f",ave);for(i=0;i<n;i+)if(ai>ave)k+;returnk;第 45 题题号 :361 例如:输入下面的矩阵 :000程序输出 :0200#include<>voidwwjt();intfun(intarray33)inti,j;for(i=0;i<3;i+)for(j=0;j<3

33、;j+) arrayij=arrayij*2;第 46 题题号 :373功能:用函数求 fibonacci 数列前 n 项的和。说明: fibonacci 数列为数列的第一 项值为 1,第二项值也 为 1 ,从第三项开始,每一项均为其 前面相邻两项的和。例如:当 n=28 时,运行结果: 832039 include<>voidwwjt();longsum(longf1,longf2)longf,k=f1+f2;inti;for(i=3;i<=28;i+)f=f1+f2;k=k+f;f1=f2;f2=f;return(k);第 47 题题号 :340 功能:编写一个函数,该函

34、数可以统 计一个长度为 2 的字符 串在另一个字符串中出现的次数。 例如:假定输入的字符串为: asdasasdfgasdaszx67asdmklo , 字符串为: as, 则应输出 6。 #include<> #include<> #include<> voidwwjt();intfun(char*str,char*substr)inti,n=0; for(i=0;i<=strlen(str)-2;i+) if(stri=substr0)&&(stri+1 =substr1)n+;returnn;第 48 题题号 :322 功能:判断

35、一个整数 w 的各位数字平 方之和能否被 5 整除, 可以被 5 整除则返回 1,否则返回 0 #include<>#include"" voidwwjt(); intfun(intw) intk,s=0;dos=s+(w%10)*(w%10); w=w/10;while(w!=0); if(s%5=0)k=1;elsek=0; return(k);第 50 题题号 :411 功能:对任意输入的x,用下式计算 并输出 y 的值。-1x<0y=0x=01x>0#include<> voidwwjt();intfun(intn)答案: int

36、m;if(n<0)m=-1;elseif(n=0)m=0;elsem=1;returnm;或intm;if(n>=0)if(n>0)m=1;elsem=0;elsem=-1;returnm;第 51 题题号 :320 功能:在键盘上输入一个 3行 3列矩 阵的各个元素的值(值 为整数),然后输出主对角线元素的 积, 并在 fun() 函数中输出。#include<> voidwwjt();main()inti,j,s,a33;for(i=0;i<3;i+)for(j=0;j<3;j+)scanf("%d",&aij);s=f

37、un(a);printf("Sum=%dn",s);wwjt();intfun(inta33)intsum;inti,j;sum=1;for(i=0;i<3;i+)sum=sum*aii;returnsum;第 52 题题号 :318/ 功能:输入一个字符串,过滤此 串,只保留串中的字母字 符,并统计新生成串中包含的字母个 数。例如:输入的字符串为 ab234$df4 , 新生成的串为 abdf 。#include<>#include<>#defineN80voidwwjt();fun(char*ptr)inti,j;for(i=0,j=0;*

38、(ptr+i)!='0'i+) if(*(ptr+i)<='z'&&*(ptr+i)>='a'| |*(ptr+i)<='Z'&&*(ptr+i)>='A') *(ptr+j)=*(ptr+i);j+;*(ptr+j)='0'return(j);第 53 题题号 :357功能:根据整型形参 m计算如下公式的值:y=1/5+1/6 1/7 1/8 1/9+1/10. 1/( m+5)例如:若m=9则应输出:#include<>void

39、wwjt();doublefun(intm)doubley=0;inti;for(i=0;i<=m;i+)y+=(i+5);return(y);第 54 题题号 :367功能:找出一批正整数中的最大的偶 数。#include<> voidwwjt();intfun(inta,intn)inti,amax=-1;for(i=0;i<n;i+)if(ai%2=0) if(ai>amax)amax=ai;returnamax;第 55 题题号 :374 功能:编写函数实现两个数据的交 换,在主函数中输入任 意三个数据,调用函数对这三个数据 从大到小排序。#include

40、<> voidwwjt();voidswap(int*a,int*b) intk;k=*a;*a=*b;*b=k;第 56 题题号 :353功能:对长度为 7 个字符的字符串, 除首、尾字符外,将其余 5 个字符按降序排列。例如:原来的字符串为CEAedca排序后输出为 CedcEAa。#include<>#include<>#include<> voidwwjt();voidfun(char*s,intnum)inti,j;chart;for(i=1;i<num-1;i+) for(j=i+1;j<num-1;j+) if(si&l

41、t;sj)t=si;si=sj;sj=t;第 57 题题号 :409题目:输入华氏温度求摄氏温度。转 换公式为 c=5/9 (f-32 ), 输出结果取两位小数。voidwwjt(); doublefun(doublem) 答案: floatn;n=*(m-32); returnn;第 58 题题号 :324功能:能计算从1开始到n的自然数 中偶数的平方的和, n 由 键盘输入,并在 main() 函数中输出。( n 是偶数) #include<> voidwwjt(); intfun(intn) intsum,i; sum=0;for(i=2;i<=n;i=i+2) sum

42、=sum+i*i; return(sum);第 59 题题号 :53 功能:求一个四位数的各位数字的立 方和 include<> voidwwjt();intfun(intn)intd,k,s=0; while(n>0) d=n%10; s+=d*d*d;n/=10; returns;第 60 题题号 :389 功能:编写函数求表达式的和 (n 的值 由主函数输入)。1-1/2+1/3-1/4+1/m例如:当n=20时,表达式的值为。#include<> voidwwjt();doublesum(intn)floats=0; inti,k=1;for(i=1;i&

43、lt;=n;i+)s=s+k*i;k=-k;return(s);第 61 题题号 :350/ 功能:请编一个函数 voidfun(intttMN,intppN) , tt指向一个M行N列的二维数组,求 出二维数组每列 中最小元素,并依次放入 pp 所指一维 数组中。二维 数组中的数已在主函数中赋予。 #include<> #include<> #defineM3#defineN4 voidwwjt();voidfun(intttMN,intppN)inti,j;for(j=0;j<N;j+)ppj=tt0j; for(i=1;i<M;i+) if(ttij&

44、lt;ppj) ppj=ttij;第 62 题题号 :356功能:求大于 lim (lim 小于 100 的整 数)并且小于 100的所 有素数并放在 aa 数组中,该函数返回 所求出素数的个数。#include<> #include<> #defineMAX100voidwwjt();intfun(intlim,intaaMAX)intn=0;inti,j; for(i=lim;i<=100;i+) for(j=2;j<i;j+) if(i%j=0)break; if(j=i)aan+=i;returnn;第 63 题题号 :399 功能:编写程序求无理数

45、 e 的值并输 出。计算公式为: e=1+1/1!+1/2!+1/3!+1/n!当 1/n!< 时 e=。 include<> voidwwjt();main() floatfun();printf(" 无理数 e 的值是:%fn",fu n();wwjt();floatfun() longintj; inti,k;doublee,jc;i=1;e=;jc=;while(jc>=e=e+jc;j=1;for(k=1;k<=i;k+)j=j*k;jc=j;i+;returne;第 64 题题号 :346 功能:将从键盘上输入的每个单词的 第一个字

46、母转换为 大写字母,输入时各单词必须用空格 隔开,用' . ' 结束输入。#include<>#include"" voidwwjt();intfun(char*c,intstatus)if(*c='')return1;elseif(status&&*c<='z'&&*c>='a') *c+='A'-'a'return0;第 65 题题号 :359 功能:实现两个整数的交换。例如:给a和b分别输入:60和65, 输入为: a

47、=65b=60#include<>#include<> voidwwjt();voidfun(int*a,int*b)intt;t=*a;*a=*b;*b=t;第 66 题题号 :386功能:用函数求N个10,60上的整数 中能被 5 整除的最大 的数,如存在则返回这个最大值,如 果不存在则 返回 0。#defineN30#include""#include<> voidwwjt();intfind(intarr,intn)inti;for(i=0;i<n;i+)if(arri%5=0&&arri>m) m=a

48、rri;第 67 题题号 :502#include<>题目:用while语句求1100的累计 和。voidwwjt(); intfun(intn) 答案: inti=1,sum=0;while(i<=n)sum=sum+i;i+;returnsum;第 68 题题号 :336 功能:从字符串中删除指定的字符。 同一字母的大、小写 按不同字符处理。例如:若程序执行时输入字符串为: turbocandborlandc+ 从键盘上输入字符:n,则输出后变 为: turbocadborladc+ ,如果输入的字符在字符串 中不存在,则字 符串照原样输出。#include<>

49、; voidwwjt();intfun(chars,intc)char*q=s;for(;*q;q+) if(*q!=c)*(s+)=*q;*s=0;第 69 题题号 :376 功能:从键盘上输入任意实数 x, 求出 其所对应的函数值。z=(x-4) 的二次幂( x>4) z=x 的八次幂 (x>-4) z=z=4/(x*(x+1)(x>-10) z=|x|+20( 其他) #include<>#include<>voidwwjt();floaty(floatx)floatz;if(x>4)z=sqrt(x-4); elseif(x>-4)

50、z=pow(x,8);elseif(x>-10)z=4/(x*(x+1); elsez=fabs(x)+20;return(z);第 70 题题号 :341 功能:删除所有值为 y 的元素。数组 元素中的值和 y 的值由 主函数通过键盘输入。#include<>#include<>#include<>#defineM20voidwwjt();voidfun(intbb,int*n,inty)inti,j;for(i=0;i<*n;)if(bbi=y)for(j=i;j<*n;j+)bbj=bbj+1;*n=*n-1;elsei+;第 71

51、题题号 :56 功能:找出一批正整数中的最大的偶 数。include<>voidwwjt();intfun(inta,intn)inti,amax=-1;for(i=0;i<n;i+)if(ai%2=0) if(ai>amax)amax=ai;returnamax; 第 72 题题号 :379 功能:给定 n 个数据 , 求最大值出现的 位置(如果最大值出 现多次,求出第一次出现的位置即 可)。#include<> voidwwjt();intstation(ints,intn) inti,k;k=0; for(i=1;i<=n;i+) if(si&g

52、t;sk)k=i; return(k+1);第 73 题题号 :37功能:输入 2 个学生 3门课的成绩, 计算学生成绩平均分, 课程平均分和最高分 .例如:输入 2 名学生 3门课的成绩分 别为 92,87, 68,56,92,84则 学生 1 平均分: 学生 2 平均分: 课程 1 平均分: 课程 2 平均分: 课程 3 平均分: 最高分为: 92 #include<> voidwwjt();/* 定义全局变量 */ /* 学生成绩平均分 */ floatStuAgv2;/* 课程平均分 */ floatCouAgv3;/* 所有学生的所有课程最高分 */ floatMax=0

53、;/* 说明:需要在下面函数中把题干要 求中的结果赋值到上面定义一变量中 */voidfun(floatscore23) 答案: inti,j;floatsum;for(i=0;i<2;i+)/* 计算第 i 个学生 平均分*/ sum=0; for(j=0;j<3;j+) sum=sum+scoreij; StuAgvi=sum/3;for(j=0;j<3;j+)/* 计算第 j 门课的 平均分*/ sum=0; for(i=0;i<2;i+) sum=sum+scoreij; CouAgvj=sum/2; Max=score00; for(i=0;i<2;i+

54、) for(j=0;j<3;j+) if(Max<=scoreij) Max=scoreij; return; 第 74 题题号 :33功能:用do-while 语句求1100的 累计和。#include<> voidwwjt(); longintfun(intn) 答案: inti=1,sum=0;dosum=sum+i; i+;while(i<=n); returnsum; 第 75 题题号 :372 题目:用函数求一个N阶方阵右下三 角元素的和(包括副 对角线上的元素)。#include<>#include<>#defineN3voi

55、dwwjt(); intsum(intaN)inti,j,k=0; for(i=0;i<N;i+) for(j=N-1-i;j<N;j+) k=k+aij;return(k);第 76 题题号 :326功能:求一个大于10的n位整数的后 n-1 位的数,并作为函 数值返回。#include<> #include"" voidwwjt(); intfun(intw)intn=0;inti=1; while(w>10)n=n+i*(w%10);w/=10;i*=10; returnn;第 77 题题号 :369功能:编写函数判断一个整数m的各 位数

56、字之和能否被 7 整除, 可以被 7整除则返回 1,否则返回 0。 调用该函数找出 100200之间满足条件的所有数。 include<> voidwwjt();(intm) intk,s=0;dos=s+m%10;m=m/10;while(m!=0);if(s%7=0)k=1;elsek=0;return(k);第 78 题题号 :332功能:根据整型参数n,计算如图公 式的值。#include<>#include""voidwwjt();tn)doublea=1;inti;for(i=1;i<n;i+)a=(1+a);returna;第 79 题题号 :349 功能:从低位开始取出长整型变量 s 奇数位上的数,依次 构成一个新数放在 t 中。例如:当 s 中的数为: 7654321时, t 中的数为: 7531。#include<>voidwwjt();longfun(longs,longt)longsl=10;t

温馨提示

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

最新文档

评论

0/150

提交评论