1.下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。
例如,若n=5,则应输出8.391667。
请改正程序中的错误,使其得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)double fun(int n)
(2)s=s+(double)a/b;
2.下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)for(i=0;str[i];i++)
(2)if(substr[k+1]==′\0′)
3.下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。
在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)正确:k++;
(2)正确:if(m==k)
4.下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1) t=a;a=b;b=t;
(2) return(b);或return b;
5.下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)*t=0;
(2)if(d%2!=0)或if(d%2==1)
6.下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……
例如,若给n输入7,则该项的斐波拉契数值为13。
请改正程序中的错误,使它能得出正确结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1) 去掉分号
(2) case 1:case2:return 1;
7.下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。
例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。
请改正程序中的错误,使它能得出正确结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1) b[k]=*p;
(2) b[k]=′′;k++;
8.下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)if(( tt[i]>=′a′ )&&( tt[i] <=′z′)
(2)tt[i]-=32;
9.下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)for (j = I + 1; j < 6; j++)
(2)(pstr + I) = *(pstr + j) ;
10.下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。
例如,若输入252,则输出应该是20。若输入202,则输出应该是0。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)long k=1;
(2)num /=10;
11.下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。
例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)float k;
(2)if(*a< *c)
12.下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,
并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。
例如,若主函数中a字符串为aBCDeFgH,b字符串为ABcd,则c中的字符串应为aBcdeFgH。请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1) int k = 0;
(2)while (*p||*q)
13.下列给定程序中fun函数的功能是:求表达式
s=aa… aa-…- aaa - aa -a
(此处aa… aa表示n个a,a和n的值在1至 9之间)
例如,a=3,n=6,则以上表达式为:
s=333333-33333-3333-333-33-3
其值是296298。
a和n是fun函数的形参,表达式的值作为函数值传回main函数。
请改正程序中的错误,使它能计算出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)long s=0, t=0;
(2)t=t/10;
14.下列给定程序中函数fun的功能是:从整数1到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中al放个位数,a2放十位数。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)a2=k/10;
(2)return i;
15.下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。
例如,若字符串为abcd,则应输出:dcba。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)void fun(char *a)
(2)printf("%c" ,*a) ;
16.下列给定程序中函数fun的功能是:将一个由八进制数字字符组成的字符串转换成与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。
例如,若输入77777,则输出32767。
请改正程序中的错误,使它能得出正确结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)n= *p-′0′;
(2)n=n*8+*p-′0′;
17.下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一
个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数:8642。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)if(d%2==0)
(2)s/=10;
18.下列给定程序中函数fun的功能是:计算并输出high以内最大的10个素数的和。high 的值由主函数传给fun函数。
例如,若high的值为100,则函数的值为732。
请改正程序中的错误,使程序能输出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)while((high>=2) && (n<10))
(2)yes=0; break;
19.下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c 。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)s[j++]=s[i];或{s[j]=s[i];j++;}
(2)s[j]=′\0′;
20.下列下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为7531。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)void fun(long s,long *t)
(2)s1=s1]
21.f(x) 0 x=0或x=2
(x-1)/(x-2) x<0
请改正程序中的错误,使程序能输出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)double f(double x)
(2)return s ;
22.下列给定程序中函数fun的功能是:求三个数的最小公倍数。
例如,若给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是330。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)fun(int x,int y, int z)或int fun(intx,inty,intz)
(2)return j;
23.下列给定程序中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子
串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为"abcdabfab",t1所指子串中的内容为"ab",t2所指子串中的内容为"99"时,在w所指的数组中的内容应为"99cd99f99"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)while( *r)
(2)r++;
24.下列给定程序中函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)char *fun(char (*sq)[M])
(2)return sp;
25.由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)int fun(int a[],int m)或fun(int a[],intm)
(2)else if(m>a[mid])
26.下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。
例如,当s中的数为7654321时,t中的数为642。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)void fun(long s,long *t)
(2)while(s>0)
27.下列给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下:
例如,a为2时,平方根值为:1.414214。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)double fun(double a,double x0)
(2)if(fabs(x1-x0)>=0.00001)
28.下列给定程序中函数fun的功能是:用选择法对数组中的n个元素进行升序排列。
请修改程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行和删行,也不得更改程序的结构!
【参考答案】
(1)p=j ;
(2)p=i;
29.下列给定程序中函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z -y)的值。其中x和y的值不相等,z和y的值不相等。
例如,当x的值为9,y的值为11,z的值为15时,函数值为-3.50。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)#define FU(m,n) (m)/(n)
(2)return (value);
30.下列给定程序中函数fun的功能是:用插入排序法对字符串中的字符进行升序排列。插入法的基本算法是:先对头两个字符进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,……。待排序的字符串已在主函数中赋予。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)n=strlen( aa ) ;
(2)ch=aa[i];
31.下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。
在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)正确:k++;
(2)正确:if(m==k)
32.下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。
例如,当s所指字符串为:"ABCD"时,t所指字符串中的内容应为:"ABCDDCBA"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)void fun ( char *s , char *t )
(2)t[2]
33.下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。
例如,若m的值为5,则应输出1.463611。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)for(i=2;i<=m;i++)
(2)y+=1.0/(i*i);或y+=(double)1.0/(i*i)
34.
下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a 中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)void fun(int *x, int *y)
(2)t=*x; *x=*y; *y=t;
35.假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素。变量n中存放数列中元素的个数。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)if(p==n) return -1;
(2)a[i]=a[i+1];
36.下列给定程序中,函数fun实现的功能是:统计一个无符号整数中各位数字值为0的个数,通过形参传回主函数,并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为0的位的个数为3,各位上数字值最大的是8。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)if(t==0)
(2)*zero=count;
37.下列给定程序中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止。
例如,程序运行后,输入0.0001,则程序输出3.1414。
请改正程序中的错误,使它能输出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)while(fabs(t)>=num)
(2)t=s/n;
38.下列给定的程序中,fun函数的功能是:将p所指的字符串中每个单词的最后一个字母改成大写(这里的"单词"是指有空格隔开的字符串)。
例如,若输入:
I am a student to take the examination
则应输出:I aM A studenT tO takE thE examinatioN
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)if(*p==′′)
(2)*(p-1)=toupper( *(p-1));
39.下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)for(i=1;i<=y;i++)
(2)t=t%1000;
40.在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。
例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)double sum=0.0;
(2)sum/=c;
41.下列给定程序中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。
例如,当s所指字符串中的内容为:"abcdabfabc",t1所指串中的内容为"ab",t2所指子串中的内容为"99"时,结果在w所指的数组中的内容应为"abcdabf99c"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)while (*w)
(2)if ( *r == *p )
42下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第5个字母;若小写字母为v~z,使小写字母的值减21。转换后的小写字母作为函数值返回。例如,若形参是字母A,则转换为小写字母f。形参是字母W,则转换为小写字母b。
请改正函数fun中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)c=c+32;
(2)c=c+5;
43下列给定程序中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。
例如,若给m输入-100,n输入90,则函数求得的一个根为2.000。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。
【参考答案】
(1)double r ;
(2)while (fabs(n-m) >0.001)
44下列给定程序中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串之后。
例如:当s所指的字符串为"ABCDE"时,t所指的字符串应为"EDCBAABCDE"。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)int iv, s1;
(2)t[i]=s[s1-i-1];
45下列给定程序中函数fun的功能是:根据以下公式求π值,并作为函数值返回。
例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。
π,2=1+1,3+1,3×2,5+1,3×2,5×3,7+1,3×2,5×3,7×4,9+……
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!
【参考答案】
(1)t=1.0;
(2)return(s*2);
46下列给定程序中fun函数功能是:将n个无序整数从小到大排序。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!
【参考答案】
(1)for(i=j+1;i (2)p=i; 47下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! 【参考答案】 (1)正确:if( n==0) (2)正确:result *=n--;或{result *=n; n--;} 48下列给定程序中函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。 例如,若q的值为50.0,则函数值应为49.394948。 请改正程序中的错误,使程序能输出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! 【参考答案】 (1)s=s + (double)(n+1)/n; (2)return t; 49.下列程序中函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,则多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序的错误,使它能得出正确结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 【参考答案】 (1)sum=0.0; (2)if((i+1)%5==0) 50.下列给定程序中函数fun的功能是:删除指针p所指字符串中的所有空白字符(包括制表 符、回车符及换行符)。 输入字符串时用'#'结束输入。 请改正程序中的错误,使它能输出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! 【参考答案】 (1)for(i=0,t=0;p[i];i++) (2)c[t]=′\0′; 1下列给定程序中函数fun的功能是:用递归算法求形参a的平方根。求平方根的迭代公式如下: 例如,a为2时,平方根值为:1.414214。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)double fun(double a,double x0) (2)if(fabs(x1-x0)>=0.00001) 2下列给定程序中函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z -y)的值。其中x和y的值不相等,z和y的值不相等。 例如,当x的值为9,y的值为11,z的值为15时,函数值为-3.50。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)#define FU(m,n) (m)/(n) (2)return (value); 3下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)正确:k++; (2)正确:if(m==k) 4假定整数数列中的数不重复,并存放在数组中。下列给定程序中函数fun的功能是:删除数列中值为x的元素。变量n中存放数列中元素的个数。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)if(p==n) return -1; (2)a[i]=a[i+1]; 5下列给定程序中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值 小于指定的数(参数num)为止。 例如,程序运行后,输入0.0001,则程序输出3.1414。 请改正程序中的错误,使它能输出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)while(fabs(t)>=num) (2)t=s/n; 6下列给定程序中函数fun的功能是:删除s所指字符中所有的小写字母c 。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)s[j++]=s[i];或{s[j]=s[i];j++;} (2)s[j]=′\0′; 7由N个有序整数组成的数列已放在一维数组中,下列给定程序中函数fun的功能是:利用折半查找法查找整数m在数组中的位置。若找到,返回其下标值;否则,返回-1。 折半查找的基本算法是:每次查找前先确定数组中待查的范围low和high(low 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)int fun(int a[],int m)或fun(int a[],intm) (2)else if(m>a[mid]) 8.给定程序MODII.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动, 例如,调用funABCDeFGH 调用后字符串中的内容为:eABCDFGH 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.q=p+i; 2.while(q>p) 9下列下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为7654321时,t中的数为7531。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)void fun(long s,long *t) (2)s1=s1] 10下列给定程序中函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)char *fun(char (*sq)[M]) (2)return sp; 11下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。 例如,若输入的数为:55 12 34,输出的结果应当是:a=55.0,b=34.0,c=12.0。请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)float k; (2)if(*a< *c) 12下列给定程序中fun函数的功能是:求表达式 s=aa… aa-…- aaa - aa -a (此处aa… aa表示n个a,a和n的值在1至 9之间) 例如,a=3,n=6,则以上表达式为: s=333333-33333-3333-333-33-3 其值是296298。 a和n是fun函数的形参,表达式的值作为函数值传回main函数。 请改正程序中的错误,使它能计算出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)long s=0, t=0; (2)t=t/10; 13下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。 例如,若字符串为abcd,则应输出:dcba。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)void fun(char *a) (2)printf("%c" ,*a) ; 14下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为87653142时,t中的数:8642。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include (1)if(d%2==0) (2)s/=10; 15.给定程序MODII.C中函数fun的功能是:根据整型形参m,计算如下公式的值. 1 1 1 1 y=-------+-------+-------+……+--- 100*100 200*200 300*300 m*m 例如,若m=2000,则应输出:0.000160。 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.double fun(int m) 2.for(i=100;i<=m;i-1+=0) 下列给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。 例如,若m的值为5,则应输出1.463611。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)for(i=2;i<=m;i++) (2)y+=1.0/(i*i);或y+=(double)1.0/(i*i) 16下列给定程序中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为"abcdabfab",t1所指子串中的内容为"ab",t2所指子串中的内容为"99"时,在w所指的数组中的内容应为"99cd99f99"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)while( *r) (2)r++; 17下列给定程序中函数fun的功能是:先将s所指字符串中的字符按逆序存放到t所指字符串中,然后把s所指串中的字符按正序连接到t所指串之后。 例如:当s所指的字符串为"ABCDE"时,t所指的字符串应为"EDCBAABCDE"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)int iv, s1; (2)t[i]=s[s1-i-1]; 18下列给定程序中函数fun的功能是:根据以下公式求π值,并作为函数值返回。 例如,当给指定精度的变量eps输入0.0005时,应输出Pi=3.140578。 π,2=1+1,3+1,3×2,5+1,3×2,5×3,7+1,3×2,5×3,7×4,9+…… 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include (1)t=1.0; (2)return(s*2); 19.给定程序MODII.C中函数fun的功能是:读入一个字符串(长度<20).将该字符串中的所有字符按ASCII码升序排列后输出. 例如,若输入edcba 则输出abcde 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.for(i=strlen(t)-1;i;i--) 2.if(t[j]>t[j+1]) 20下列给定程序中,函数fun的功能是:将大写字母转换为对应小写字母之后的第5个字母;若小写字母为v~z,使小写字母的值减21。转换后的小写字母作为函数值返回。例如,若形参是字母A,则转换为小写字母f。形参是字母W,则转换为小写字母b。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)c=c+32; (2)c=c+5; 21.给定程序MODII.C中函数fun的功能是:分别统计字符串中大写和小写字母的个数, 例如,给字符串s输入:AAaaBBb123CCccccd,则输出结果为uppelower=8 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.void fun(char*s.int*a,int*b) 2.++(*a); 3.++(*b) 22下列给定程序中fun函数功能是:将n个无序整数从小到大排序。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)for(i=j+1;i (2)p=i; 23下列给定程序中函数fun的功能是:计算并输出下列级数的前N项和SN,直到SN+1的值大于q为止,q的值通过形参传入。 例如,若q的值为50.0,则函数值应为49.394948。 请改正程序中的错误,使程序能输出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)s=s + (double)(n+1)/n; (2)return t; 24.给定程序MODII.C中函数fun的功能是:根据整型形参m的值,如下公式的值. 1 1 1 t=1- --- - --- - ……- --- 2*2 3*3 m*m 例如,若m中的值为5则应输出0.536389 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.for(i=2;i<=m;i++) 2.y=1.0/i/i; 25下列给定程序中函数fun的功能是:删除指针p所指字符串中的所有空白字符(包括制表符、回车符及换行符)。 输入字符串时用'#'结束输入。 请改正程序中的错误,使它能输出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)for(i=0,t=0;p[i];i++) (2)c[t]=′\0′; 26在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。 例如:数组中元素中的值依次为:39,-47,21,2,-8,15,0,则程序的运行结果为19.250000。请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)double sum=0.0; (2)sum/=c; 27下列给定的程序中,fun函数的功能是:将p所指的字符串中每个单词的最后一个字母改成大写(这里的"单词"是指有空格隔开的字符串)。 例如,若输入: I am a student to take the examination 则应输出:I aM A studenT tO takE thE examinatioN 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)if(*p==′′) (2)*(p-1)=toupper( *(p-1)); 28. 给定程序MODII.C中函数fun的功能是:找出一个大于形参m且紧随m的素数,并作为函数值返回. 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.if(i%k==0) 2.if(k>=i) 下列程序中函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,则多余部分忽略不计。 例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。 请改正程序的错误,使它能得出正确结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)sum=0.0; (2)if((i+1)%5==0) 29下列给定程序中,函数fun的功能是:将主函数中两个变量的值进行交换。例如,若变量a中的值为8,b中的值为3,则程序运行后,a中的值为3,b中的值为8。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)void fun(int *x, int *y) (2)t=*x; *x=*y; *y=t; 30.给定程序MODII.C中函数fun的功能是:计算小于形参k的最大的10个能被13或17整除的自然数之和.k的值由主函数传入,若k的值为500,则函数值为4622 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.if((k%13==0)||(k%17==0)) 31下列给定程序中,函数fun实现的功能是:统计一个无符号整数中各位数字值为0的个数,通过形参传回主函数,并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为0的位的个数为3,各位上数字值最大的是8。 请改正函数fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)if(t==0) (2)*zero=count; 32下列给定程序中函数fun的功能是:将s所指字符串的正序和反序进行连接,形成的新串放在t所指的数组中。 例如,当s所指字符串为:"ABCD"时,t所指字符串中的内容应为:"ABCDDCBA"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)void fun ( char *s , char *t ) (2)t[2] 33下列给定程序中函数fun的功能是:计算n!。 例如,给n输入5,则输出120.000000。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)正确:if( n==0) (2)正确:result *=n--;或{result *=n; n--;} 34.给定程序MODII.C是建立一个带头结点的单向链表,并用随机函数为各结点数据赋值.函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回. 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.p=h->next; 2.p=p->next; 35下列给定程序中函数fun的功能是:用插入排序法对字符串中的字符进行升序排列。插入法的基本算法是:先对头两个字符进行排序,然后把第三个字符插入到前两个字符中,插入后前三个字符依然有序;再把第四个字符插入到前三个字符中,……。待排序的字符串已在主函数中赋予。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)n=strlen( aa ) ; (2)ch=aa[i]; 36下列给定程序中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。 例如,若给m输入-100,n输入90,则函数求得的一个根为2.000。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)double r ; (2)while (fabs(n-m) >0.001) 37下列给定程序中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。 例如,当s所指字符串中的内容为:"abcdabfabc",t1所指串中的内容为"ab",t2所指子串中的内容为"99"时,结果在w所指的数组中的内容应为"abcdabf99c"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)while (*w) (2)if ( *r == *p ) 38.给定程序MODII.C中函数fun的功能是:读入一个英文文本行,将其中每个单词的的第一个字母改成大写,然后输出此文本行(这里的"单词"是指由空格字符串) 例如若输入:I am a student to take the eamination. 则应输出:I Am A Student To Take The Eamination. 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.#include"stdio.h" 2.upfst(char*p) 39下列给定程序中,函数fun的功能是:求整数x的y次方的低3位值。例如,整数5的6次方为15625,此值的低3位值为625。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1)for(i=1;i<=y;i++) (2)t=t%1000; 40下列给定程序中函数fun的功能是:用选择法对数组中的n个元素进行升序排列。 请修改程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行和删行,也不得更改程序的结构! #include 【参考答案】 (1)p=j ; (2)p=i; 41.给定程序MODII.C中函数fun的功能是:从n(形参)个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单元中. 例如;若输入8名学生的成绩:80.5 60 72 90.5 98 51.5 88 64则低于平均分的学生人数为4 请改正函数fun中指定部位的错误,使它能得出正确的结果. 【参考答案】1.t+=s[k] 2.*aver=ave; 42下列给定程序中函数fun的功能是:求出如下分数序列的前n项之和。和值通过函数值返回。 例如,若n=5,则应输出8.391667。 请改正程序中的错误,使其得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)double fun(int n) (2)s=s+(double)a/b; 43下列给定程序中函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。 例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)for(i=0;str[i];i++) (2)if(substr[k+1]==′\0′) 44下列给定程序中函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为7654321时,t中的数为642。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)void fun(long s,long *t) (2)while(s>0) 45下列给定程序中函数fun的功能是:判断一个整数是否为素数,若是素数返回1,否则返回0。 在main()函数中,若fun返回1输出YES,若fun返回0输出NO!。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)正确:k++; (2)正确:if(m==k) 46下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1) t=a;a=b;b=t; (2) return(b);或return b; 47下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。 例如,当s中的数为87653142时,t中的数为7531。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)*t=0; (2)if(d%2!=0)或if(d%2==1) 48下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、…… 例如,若给n输入7,则该项的斐波拉契数值为13。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1) 去掉分号 (2) case 1:case2:return 1; 49下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。 例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。 请改正程序中的错误,使它能得出正确结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。 #include 【参考答案】 (1) b[k]=*p; (2) b[k]=′′;k++; 50下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写 字母,其它字符不变。 例如,若输入"Ab,cD",则输出"AB,CD"。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)if(( tt[i]>=′a′ )&&( tt[i] <=′z′) (2)tt[i]-=32; 51下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)for (j = I + 1; j < 6; j++) (2)(pstr + I) = *(pstr + j) ; 52下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。 例如,若输入252,则输出应该是20。若输入202,则输出应该是0。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构! #include 【参考答案】 (1)long k=1; (2)num /=10; 53下列给定程序中函数fun的功能是:求三个数的最小公倍数。 例如,若给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是330。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1)fun(int x,int y, int z)或int fun(intx,inty,intz) (2)return j; 54下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。 例如,若主函数中a字符串为aBCDeFgH,b字符串为ABcd,则c中的字符串应为aBcdeFgH。请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构! #include 【参考答案】 (1) int k = 0; (2)while (*p||*q) 55下列给定程序中函数fun的功能是:从整数1到55之间,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中al放个位数,a2放十位数。 请改正程序中的错误,使它能得出正确的结果。