C语言上机100套题 联系客服

发布时间 : 星期一 文章C语言上机100套题更新完毕开始阅读

while(*p) {

if(*p!=c) {

s[i]=*p; i++; } }

s[i]=′\\0′; }

64◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】给定程序中,函数fun的功能是:求出形参ss所指字符串组中最长字符串的长度。将其余字符串右边用字符*补齐,使其与等长。Ss所指字符串数组中共有M个字符串,切串长小于N 【答案】【1】ss[i]【2】n+j【3】1

【改错】下列给定程序的功能是:读入一个英文文本行,将其中每个单词的最后一个字母改成大写,然后输出此文本行(这里\单词\是指由空格隔开的字符串)。例如,若输入I am astudent to take the examination,则应输出I aM A studenT To takE thE examinatioN。 【答案】【1】if(*p==’’) 【2】*(p-1)=toupper(*(p-1));

【编程】请编写函数fun(),对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII值码降序排列。例如:原来的字符串为CEAedca,则排序后输出为CedcEAa。 【答案】

int fun(char *s, int num) {

char ch; int i, j;

for(i=1;i

if(*(s+i)<*(s+j)) {

ch=*(s+j);

*(s+j)= *(s+i); *(s+i)=ch; } } }

65◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】给定程序中,函数fun的功能是:求ss所指字符串数组中长度最长的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。ss所指字符串数组中共有M个字符串,且串长

【改错】下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值: t=1+1/2+1/3+1/4+?+1/m

例如,若输入5,则应输出2.283333。 【答案】【1】t+=1.0/i; 【2】return t; 【编程】编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为as,则应当输出6。 【答案】

int fun(char *str, char *substr) {

int i,j=0;

for(i=0;str[i+1]!=′\\0′;i++)

if(str[i]==substr[0]&&str[i+1]==substr[1]) j++;

return j; }

66◆◆◆◆◆◆◆◆◆◆◆◆◆◆

【填空】函数fun的功能是进行字母转换。若形参ch中的是小写英文字母,则转换成对应的大写英文字母:若ch中式大写英文字母,则转换成对应的小写英文字母;若是其他字符则保持不变;并转换后的结果作为函数值返回。 【答案】【1】&&【2】’A’【3】ch

【改错】下列给定程序中,函数fun的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如,输入1、2、3、4,程序运行后输出以下方阵: 4 1 2 3 3 4 1 2 2 3 4 1 1 2 3 4 【答案】【1】void fun(int *a) 【2】a[j]=a[j-1];

【编程】请编写一个函数fun,它的功能是:计算并输出给定整数n的所有因子(不包括1与自身)之和。规定n的值不大于1000。

例如,若主函数从键盘给n输入的值为856,则输出为sum=763。 【答案】 int fun(int n) {

int s=0,i;

for(i=2;i<=n-1;i++) if(n%i==0) s+=i; return s; }

67◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】函数fun的功能是:计算。。。的前n项和。若x=2.5,n=15是,函数值为1.917914 【答案】【1】1.0 【2】-1 【3】t

【改错】下列给定程序中,函数fun的功能是:从3个红球、5个白球、6个黑球中任意取

出8个作为一组,进行输出。在每组中,可以没有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k的值代表黑球数。 【答案】【1】for(i=1;i<=3;i++) 【2】if((k>=0&&k<=6)

【编程】请编写函数fun,其功能是计算并输出如下多项式的值: Sn=l+1/1!+1/2!+1/3!+1/4!+?+1/n!

例如,若主函数从键盘给n输入15,则输出为S=2.718282。 【答案】

double fun(int n) {

double t,sn=1.0; int i,j;

for(i=1;i<=n;i++) {

t=1.0;

for(j=1;j<=i;j++) t*=j; sn+=1.0/t; }

return sn; }

68◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】函数fun的功能是:计算。。。若x=2.5,函数值为1.917915. 【答案】【1】-x【2】n【3】abs(t)

【改错】下列给定程序中函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。 【答案】

【1】for(i=1;i<=y;i++) 【2】t=t00;

【编程】请编写函数fun,其功能是:计算并输出当x<0.97时,如下多项式的值,直到|Sn-Sn-1|<0.000001为止。例如,若主函数从键盘给x输入0.21后,则输出为S=1.100000。 【答案】

double fun(double x) {

double s1=1.0,p=1.0,sum=0.0,s0,t=1.0; int n=1; do {

s0=s1; sum+=s0; t*=n;

p*=(0.5-n+1)*x; s1=p/t; n++;

}while(fabs(s1-s0)>=1e-6);

return sum; }

69◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】函数fun的功能是:计算。。。的前n项和。若x=2.5,函数值为12.182340. 【答案】【1】1.0 【2】1 【3】i

【改错】下列给定程序中,函数fun的功能是:找出100到n(不大于1000)之间三个位上的数字都相等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。 【答案】【1】k=i;【2】b=k;

【编程】请编写函数fun,其功能是:计算并输出给定10个数的方差。

其中:例如,给定的10个数为95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0,则输出为S=11.730729。 【答案】

double fun(double x[10]) {

double x1=0.0,s=0.0; int i;

for(i=0;i<10;i++) x1=x1+x[i]; x1=x1/10;

for(i=0;i<10;i++) s=s+(x[i]-x1)*(x[i]-x1); return sqrt(s/10); }

70◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】函数fun的功能是:计算。。。。若x=2.5,函数值为12.182494. 【答案】【1】x 【2】n 【3】t

【改错】下列给定程序中,函数fun的功能是:计算n的5次方的值(规定n的值大于2且小于8),通过形参指针传回主函数,并计算该值的个位、十位、百位上数字之和作为函数值返回。例如,7的5次方是1 6807,其低3位数的和值是15。 【答案】【1】d=1;【2】s=0; 【3】d=d/10;

【编程】请编写函数fun,其功能是:计算并输出给定数组(长度为9)中,每相邻两个元素的平均值的平方根之和。

例如,若给定数组中的9个元素依此为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,则输出应为s=35.951014。 【答案】

double fun(double x[9]) {

double sum=0.0; int i,j=1;

for(i=0;i<9;i++) if(j<=8) {

sum+=sqrt((x[i]+x[i+1])/2.0);