1、程序设计 C语言试题1.功能:输入n个数,并求出小于平均值的数的个数。int i,sum=0,k=0; double average; for(i=0;in;i+) sum=sum+ai; average=sum*1.0/n; for(i=0;iai) k+;return(k);2. 功能:从字符串中删除指定的字符。同一字母的大、小写 按不同字符处理。例如:若程序执行时输入字符串为:turbocandborlandc+ 从键盘上输入字符:n,则输出后变为:turbocadbo rladc+,如果输入的字符在字符串中不存在,则字 符串照原样输出。char *q=s;for(; *q; q+)if
2、(*q != c) *(s+)=*q;*s=0;3. 功能:计算并输出给定整数n的所有因子之和(不包括1与 自身)。注意:n的值不大于1000。例如:n的值为855时,应输出704。int s=0,i; for(i=2;in;i+) if(n%i=0)s=s+i; return s;4. 功能:删去一维数组中所有重复的数,只保留不同的数。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如:一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。注意:请勿改动主
3、函数main和其它函数中的任何内容。int i,j=1,k=a0; for(i=1;in;i+) if(k!=ai) aj+=ai; k=ai; aj=0; return j;5. 功能:用函数求N个10,60上的整数中能被5整除的最大 的数,如存在则返回这个最大值,如果不存在则 返回0。int i; for(i=0;im) m=arri;6. 功能:根据整型参数n,计算如图公式的值。double a=1;int i;for(i=1;i=a & stri=z) stri=stri-32;8. 功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。例如:若m=9,则应输出:4.1211
4、85double y=0; y=sin(m)*10; return(y);9. 功能:不用递归方式,编写函数fun,求任一整数m的n次方。long int x=1; int i; for(i=1;i=n;i+) x=x*m; return x;10. 功能:编写函数实现两个数据的交换,在主函数中输入任意三个数据,调用函数对这三个数据从大到小排序。int k;k=*a;*a=*b;*b=k;11. 功能:编写函数fun计算下列分段函数的值: x2+x+6 x0且x-3 f(x)= x2-5x+6 0x10且x2及x3 x2-x-1 其它float y; if (x=0 & x10.0 & x!=
5、2.0 & x!=3.0) y=x*x-5*x+6; else y=x*x-x-1;return y;12. 功能:编写函数求150(包括50)中奇数的平方和。结果为20825.000000。float s=0;int i;for(i=1;i=n;i=i+2) s=s+i*i;return(s);13. 功能:根据整型形参m,计算如下公式的值: y=1/5+1/61/71/81/9+1/10.1/(m+5)例如:若m=9,则应输出:1.168229double y=0; int i; for(i=0; i=m; i+) y+=1.0/(i+5); return(y);14. 功能:编写函数fu
6、n(int m)求1000以内(不包括1000)所有m的倍数之和。int s=0,i; for(i=1;iN;i+) if(i%m=0) s+=i; return s;15. 功能:输入一个字符串,过滤此串,只保留串中的字母字 符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf 。int i,j;for(i=0,j=0;*(ptr+i)!=0;i+)if(*(ptr+i)=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j);16. 功能:找出一个大于给定整数且紧随这个整数的素数,并作为函数值
7、返回。int i,k;for(i=n+1;i+)for(k=2;k=a&si=A&si=Z) k+; return k;18. 功能:根据整型参数n,计算如图公式的值。double a=1;int i;for(i=1;in;i+)a=1.0/(1+a);return a;19. 功能:编写函数求10个数中的次大数,返回其值。注意:请勿改动主函数main和其它函数中的任何内容。int i,j,max,min,second_max;max=min=a0;for(i=1;imax) max=ai; if(aimin) min=ai;second_max=min;for(i=1;isecond_max
8、 & aimax) second_max =ai;return(second_max);20. 功能:编写函数fun求sum=d+dd+ddd+dd.d(n个d),其中d为1-9的数字。例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。long int s=0,t=0; int i; for(i=1;i=n;i+) t=t+d; s=s+t; d=d*10; return s;21. 功能:将主函数中输入的字符串反序存放。例如:输入字符串abcdefg,则应输出gfedcba。int i,j;char c;for(i=0,j=n-1;ij;i+,j-) /*或者for(i=0,j=n-1;i 0) s = s/100; t = s%10*sl + t; sl = sl * 10;return t;23. 求出二维数组外围元素之和,作为函数值返回。二 维数组的值在主函数中赋予。int s=0; int i,j; for(i=0;iM;i+) s=s+ai0+aiN-1; for(j=1;jN-1;j+) s=s+a0j+aM-1j; return s;