计算机二级c语言上机(南开大学)100题 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机二级C语言上机(南开大学)100题
程序填空题
1 补充fun函数,fun函数的功能是求10的阶乘。
n>1 n-1 n==1
2 在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出数列是一种整数数列,其中每数等于前面两数之和
n==o n==1 fun(n-1)+fun(n-2)
3 补充函数fun(char*s),该函数的功能是把字符串中的内容逆置
s+i<s+n-1-i
*(s+i)=(s+n-1-i) *(s+n-1-i)=t
4 补充函数fun,他的功能是计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和
i<=n
i%3==0||i%7==0 1.0/i
5 功能是求1/2的圆面积,函数通过形参得到圆的半径,函数返回1/2的圆面积
r r*r &x
6 功能是计算并输出下列级数的前N项合Sn,直到Sn大于q为止,q 的值通过形参传入
<= n++
return s
7 函数fun的功能是统计长整数n的各个位上出现数字1.2.3的次数,并通过外部(全局)变量c1.c2.c3返回主函数
n%10 break break
8 补充main函数,功能是从键盘输入一组整数,使用条件表达式找出最大的整数,当输入的整数为0时结束
&num[i]
max<num[i]? num[i]!=0
9 给定程序的功能是分别统计字符串中大写字母和小写字母的个数
(*a)++ (*b)++ upper,lower
10 补充main函数,功能是从键盘输入3个整数,然后找出最大的数并输出。
max=a max=b max=c
11 函数fun的功能是把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动
1 s[k] c
12 补充fun函数,功能是字符串tt中的大写字母都改为对应的小写字母,其他的字符不变。
tt[i]<='Z'
tt[i]+=32 tt
13 补充fun函数,功能是判断一个数是否为素数。
该数是素数时,函数返回字符串yes!,否则返回no!,并在主函数中输出
char*fun(int n) 2 n%i==0
14 补充fun函数,功能是依次取出字符串中所有小写字母,形成新的字符串,并取代原字符串
*p i++ '\0' 15 给定程序的功能是判断字符ch是否与串str中的某个字符相同:若相同,什么也不做,若不同,则插在串最后
!= str[1] s,c 16 补充fun函数,功能是:判断一个年份是否为闰年
n%100!=0
n%400==0 flag
17 给定程序的功能是将n个人的考试成绩进行分段统计,考试成绩放在a数组中,各分段的人数存到b数组中:成绩为60到69的人数存到b[0]中,成绩为70到79的人数存到b[1],成绩为80到89的人数存到b[2],成绩为90到99的人数存到b[3]中,成绩为100的人数存到b[4],成绩为60以下的人数存到b[5]中
n else a,b 18 str为一个字符序列。
补充fun函数,该函数的功能是查找str中值
为x的元素,回找到值为x的元素个数,并把这些值为x的元素下标依次保存在数组bb中
*p==t
bb[n++]=i n
19 给定程序的功能是计算score中m个人的平均成绩aver,将低于aver的成绩放在below中,通过函数名返回人数
score[i] below below[i]
20 给定程序的功能是求出能整除x且不是偶数的各整数,并放在数组pp中,这些除数的个数由n返回
i j aa,&n
21 fun函数的功能是将s所指字符串中所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序
j++ s[i]=t[i] j 22 fun函数的功能是在形参s所指字符串中的每个数字字符之后插入一个*号
& 0 s[j]
23 在主函数中从键盘输入若干个数放入数组x中,用0结束输入但不计入数组。
下列给定程序中,函数fun的功能是输出数组元素中小于平均值的元素
intx[] sum+=x[i] sum/n
24 函数fun的功能是从三个形参a,b,c中找出中间的那个数,作为函数值返回
a a b
25 函数fun的功能是逆置数组元素中的值。
形参n给出数组中数据的个数
n/2 1 a[n-i-1]
26 补充fun函数,功能求能整除x,且是偶数的数,把这些数保存在数组bb,并从大到小输出
i=1 k%i==0 --j
27 补充fun函数,功能是统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回
j=2 i j
28 程序的功能是计算s=
1 s*i 0 s+fun(k)
29 补充fun函数,该函数的功能是求不超过给定自然数的各偶数之和
i=2;i<=x;i+=2
30 补充fun函数,功能是把从主函数中输入的由数字字符组成的字
符串转换成一个无符号长整数,并且倒序输出。
结果由主函数返回
--i s[i] -'o' t*10+k
31 补充fun函数,该函数的功能是把从主函数中输入的字符串str2节在字符串str1后面
*(p1+i) *p2 *p2++
32 补充fun函数,该函数的功能是求一维数组x[N]的平均值,并对所得结果进行四舍五入保留两位小数。
sum+=x[i]
avg*1000 (avg+5)/10
33 函数fun的功能是将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。
形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动
1 i a[p+i] 34 补充fun函数,功能是分类统计一个字符串中元音字母和其他字符的个数(不区分大小写)
bb[i]=0
bb[5]++ p++;
35 str是全部由小写字母字符和空格字符组成的字符串,由num传入字符串的长度,请补充fun函数,功能是统计字符串str中的单词数,结果由变量num传回。
每个单词之间都由空格隔开,并且字符串str
开始不存在空格
i<*num n++ *num=n
36 str是一个由数字和字母字符组成的字符串,由变量num传入字符串长度。
请补充fun函数,功能是把字符串str中的数字字符转换成数字并存放到整形数组bb中,函数返回数组bb的长度
s[i]>='0'&&s[i]<='9' s[i]-'0' n
37 补充fun函数,该函数的功能是从数组xx中找出个位和十位的数字之和大于5的所有无符号整数,结果保存在数组yy中,其个数由fun函数返回
xx[i]%10
bb[n++]=xx[i] n
38 补充fun函数,功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是返回"yes!",否则返回"no!"
n/100%10 "yes!" "no!"
39 补充main函数,功能是从一个字符串中截取前面若干个给定字符数的子字符串,其中,str1指向原字符串,截取后的字符串放在str2所指的字符数组中,n中存放预截取的字符个数
"%d",&n
str2[i]=str1[i]; str2
40 补充main函数,功能是从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出
"%s",str1 %c str2
41 补充main函数,功能是从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来
"%ld",&n
n=-n; "%ld",n
42 补充main函数,功能是从字符串str中取出所有数字字符,并分别计数,并把结果保存在数组b中并输出,把其他字符保存在b[10]中
*p
default:b[10]++; p++;
43 补充fun函数,功能是按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。
*p
bb[*p-'0']++ num[j]==bb[i]
44 补充fun函数,该函数的功能是逐个比较a,b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放在到c数组中,形成一个新的字符串
0 *p||*q
45 补充fun函数,功能是先将在字符串s中的字符按逆序存放到t
串中,然后把s中的字符按正序连接到t串的后面
s1-i-1 2*sl
46 补充fun函数,功能是用来求出数组最大元素在数组中的下标并存放在k所指的存储单元中
*k s[i]>max 1
47 补充fun函数,功能是从数组xx中找出个位和百位数字相等的所有无符号整数,结果保存在数组yy中,其个数由fun函数返回
xx[i]%10
bb[n++]=xx[i] n
48 补充fun函数,功能势必哈一个整数转换成字符串,并倒序保存在字符数组str中
n>0
n%10+'0' str[i]='\0'
49 补充main函数,功能是求方程ax(平方)+bx+c=0的两个实数根。
方程的系数a,b,c从键盘输入,如果判别式小于0,则要求从新输入a,b,c的值
disc<0
(-b+sqrt(disc))/(2*a) (-b-sqrt(disc))/(2*a)
50 补充fun函数,功能是在字符串的最前端加入n个*号,形成新串,并且覆盖。
s *p++ *p
51.请补充fun函数,该函数的功能是把从键盘输入的3个整数按从小到大输出。
x>y x>z y>z
52.请补充main函数,该函数的功能是:先以只写方式打开文件“out52.dat",再把字符串str中的字符保存到这个磁盘文件中.
"out52.dat","w" fputc(ch,fp) fclose(fp)
53.请补充函数fun,该函数的功能是求出以下分数序列的前n项和。
和值通过函数值返回到main函数。
double double double
54.请补充函数fun,该函数的功能是比较字符串str1和str2的大小,并返回比较的结果。
*p1<*p2
*p1>*p2 '\0'
55.请补充fun函数,该函数的功能是:寻找两个整数之间的所有素数(包括这两个整数)把结果保存在数组bb中,函数返回素数的个数。
flag=1
j%i==0 flag==1
56.请补充main函数,该函数的功能是把文本文件B中的内容追加到文本文件A的内容之后。
&&
fputc(ch,fp1) fclose(fp)
57.请补充main函数,该函数的功能是:计算并输出下列多项式的值。
double
j 1.0/t
58.请补充main函数,该函数的功能是,将保存在磁盘文件中的10个学生的数据中的第1 3 5 7 9个学生的数据输入计算机,并在屏幕上显示出来。
2 i &stud[i]
59.请补充main函数,该函数的功能是,计算两个自然数n和m(m 〈10000)之间所有数的和。
n和m从键盘输入。
sum=0
sum+=n ld
60.请补充fun函数,该函数的功能是把数组bb中的数按从大到小排列。
数组的值及元素个数从主函数中输入。
i<n j<n-1 61.请补充main函数,该函数的功能是:计算每个学生科目的平均分,并把结果保存在数组bb中。
bb[i]=0
bb[i]+=score[i][j]
62.请补充main函数,该函数的功能是从键盘输入一组字符串,以‘*’
结束输入,并显示出这个字符串。
"%c",&str[i] str[i]!='*' "%c",str[j]
63 给定程序的功能是找出成绩最低的学生记录,通过形参返回主函数
STU h h
64 补充main函数,功能是把字符串srt1中的非空格字符拷贝到字符串str2中
str1[i]!='' i++ 65 补充main函数,功能是输出一个NXN矩阵,要求非周边元素赋值0,周边元素赋值1
i==0||i==n-1||j==0||j==n-1 bb[i][j]=0
66 补充main函数,功能是把一个正数插入到一个已经按从小到大顺序排列的数组中,插入后,数组仍然有序
j>i
bb[j]=bb[j-1] break
67 补充main函数,功能是把一个2维字符数组没行字符串最大的字符拷贝到字符数组s中
p=str p[i]++ s[i]='\0'
68 补充main函数,功能是从键盘输入若干个字符放到一个字符数组
中,当按回车键时结束输入,最后输出这个字符数组中的所有字符
break '\0' *p++
69 补充main函数,功能是从键盘输入两个字符串分别保存在字符数组str1和str2种,用字符串str2替换字符串str1前面的所有字符
strlen(str1)<strlen(str2) *p2 str1
70 给定程序功能是用冒泡法对6个字符串进行排序
*(pstr+j)
pstr[j] p
71 函数fun的功能是将形参指针所指结构体数组中的三个元素按num成员进行升序排列
std[3] PERSON std
72 补充main函数,功能是计算三个学生各科的平均分
N M bb[i]/N
73 补充main函数,功能是输出一个NXN矩阵,要求非对角线上的元素赋值0,对角线元素赋值1
bb[i][j]=0 1 j=n-1-i
74 函数fun的功能是将形参std所指结构体数组中年龄最大者的数据
作为函数值返回,并在main函数中输出
*std
std[i].age
75 补充main函数,该函数的功能是求1到N的阶乘的合
&n t*i s+t 76 补充fun函数,功能是把字符串str中的字符按字符的ASCII码降序排列,处理后的字符串仍然保存在原串中,字符串及其长度作为函数参数传入
i s[j]=s[i]
77 补充main函数,功能是如果数组aa的前一个元素比后一个元素小,则把它保存在数组bb中并输出
N-1
bb[n++]=aa[i] i,bb[i]
78 补充fun函数,功能是把字符的ASCII码为偶数的字符从字符串str 中删除,结果仍然保存在字符串str中,字符串str从键盘输入,颀长的作为参数传入fun函数
void fun(char s[],int n) j=0 s[j]='\0'
79 补充fun函数,功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面
aa[i]%2==0
i<k
80 补充main函数,功能是把一维数组中的元素逆置,结果仍然保存在原数组中
j=0,--i j++,i-- 81 函数fun的功能,计算N*N矩阵的主对角线元素和反向对角线元素之和,并返回值
sum=0 t[i][i] 1
82 补充main函数,打印出1到1000中满足个位数字的立方等于其本身的所有数
i%10
g*g*g==i
83 补充main函数,从键盘输入一个字符串及一个指定字符,把这个字符及其后面的所有字符全部删除,结果仍保存在原串中
break; i++ '\0'
84 补充main函数,输出方程组A+B=52,A+2B=60 的一组正整数解
i+j==52&&i+2j==60 i,j
85 函数fun功能,有N*N阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0
[N] t[i][j] t[j][i]
86 函数fun功能,将N*N阵中元素的值按列右移一个位置,右边被移出阵的元素绕回左边
N N-1 0
87 补充main函数,打印出满足个位上的数字,十位上的数字的百位上的数字都相同的所有三位数
g==s&&s==b
g+s*10+b*100
88 补充fun函数,返回字符数组中指定字符的个数,指定字符从键盘输入
s[i]
s[i]==ch return n
89 从键盘输入一组小写字母,保存在字符数组str中。
补充fun函数,把字符数组str中字符下标为奇数的小写字母转换成对应的大写字母,结果留在原数组中
s[i]!='\0' 32 i++
90 人员的记录由编号和出生年,月,日组成,N名人员的数据已在主函数中存入结构体数组std中且编号唯一。
找出指定编号人员的数据,若不存在,返回空串
STU
std[i].num std[i]
91 补充fun函数,求100(不包含100)以内能被2或3整除,但不能同时被2和3整除的自然数,存在bb中,返回bb元素的个数
i=1,j=0
bb[j++]=i return j
92 补充main函数,把字符串str中的字符向前移动一位,原来的第一个字符移到串尾,结果仍存在原串中
str[i+1]
str[i]=ch
93 补充fun函数,交换数组aa中最大和最小两元素的位置,结果存在原数组中,其他元素位置不变,aa中没有相同元素
aa[max]<aa[i] aa[min]>aa[i] aa[max]=aa[min]
94 补充fun函数,删除字符数组中比指定字符小的字符,指定字符从键盘输入,结果存在原数组中
i++
s[j++]=s[i] s[j]='\0'
95 给定程序的功能是计算S=f(-n)+f(-n+1)+……+f(0)+f(1)+f(2)+……+f(n)的值
0.0 n s 96 补充fun函数,从键盘中输入一个下标n,把数组aa中比元素aa[n]小的元素放在左边,比他大的放在右边,仍存在原数组中
aa[k++]=t
i<j
97 给定程序的功能是将未在字符串s中出现,而在t中出现的字符,形成一个新的字符串放在u中,按原顺序排序,去掉重复字符
break t[i] u[u1]
98 补充fun函数,把str中的字母转换成紧接着的下一个字母,如果原来的字母为‘z’或‘Z'则相应转换成‘a’‘A'结果仍存在原数组中
s[i]!='\0'
25 1
99 补充main函数,求1到100(不包括100)以内所有素数的平均值
j%i==0
flag==1 aver/n
100 补充fun函数,把字符下标能被2或3整除的字符从字符串str 中删除,把剩余的字符重新保存在字符串str中,串从键盘输入
k=0
(i%2==0)||(i%3==0) s[k]='\0'
改错题
第一题:下列给定程序的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为
素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
第1处:IsPrime(int n);应改为IsPrime(int n)
第2处:if!(n%i)应改为if(!(n%i))
第二题
下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字符,把
ASCII值大或相等的字符依次存放在到c数组中,形成一个新的字符串。
例如,若a中的字符串
为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
第1处:int k=1;应改为int k=0;
第2处:while(*p!=*q)应改为while(*p||*q)
第三题
下列给定程序中,函数fun的功能是:依次取出字符串中所有数字字符,形成新的字符
串,并取代原字符串。
第1处:s[j]=s[i];应改为s[j++]=s[i];
第2处:s[j]="\0";应改为s[j]='\0';
第四题
下列给定程序中,fun函数的功能是:分别统计字符串中大写字母和小写字母的个数。
例
如,给字符串s输入:AaaaBBb123CCccccd,则应输出结果:upper = 5,
lower = 9。
第1处:void fun(char*s,int a,int b)应改为void fun(char*s,int*a,int*b) 第2处:a++;应改为(*a)++;
第3处:b++;应改为(*b)++;
第五题
假定整数数列中的数不重复,并存放在数组中。
下列给定程序中,函数fun的功能是:删
除数列中值为x的元素,同时将其他元素前移。
n中存放的是数列中元素的个数。
第1处:a[i+1]=a[i];应改为a[i]=a[i+1];
第六题
下列给定程序中,函数fun的功能是:根据整型形参m的值,计算如下公式的值。
1 1 1
t=1- - - -
2′2 3′3 m′m
例如,若m中的值为5,则应输出:0.536389。
第1处:for(i=2;i<m;i++)应改为for(i=2;i<=m;i++)
第2处:y-=1/(i*i);应改为y-=1.0/(i*i);
第七题
下列给定程序中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排
序。
第1处:p=j应改为p=j;
第2处:p=i;应改为p=j;
第八题
下列给定程序中,函数fun的功能是:在字符串str中找出ASCII 码值最大的字符,将其放在
第一个位置上;并将该字符前的原字符向后顺序移动。
例如,调用fun 函数之前给字符串输
入:ABCDeFGH,调用后字符串中的内容为eABCDFGH。
第1处:void fun(char*p);应改为void fun(char*p)
第2处:p=q+i;应改为q=p+i;
第九题
下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,
此人数由函数值返回,平均分存放在形参aver所指的存储单元中。
例如,若输入8名学生的成
绩:
80.5 60 72 90.5 98 51.5 88 64
则低于平均分的学生人数为4(平均分为:75.562500)。
第1处:t=s[k];应改为t+=s[k];
第2处:*aver=&ave;应改为*aver=ave;
第十题
下列给定程序中,函数fun的功能是:将s所指字符串中出现的t1所指子串全部替换成t2所
指子字符串,所形成的新串放在w所指的数组中。
在此处,要求t1和t2所指字符串的长度相
同。
例如,当s所指字符串中的内容为abcdabfab,t1所指子串中的内容为ab,t2所指子串中的内
容为99时,结果,在w所指的数组中的内容应为99cd99f99。
第1处:void fun(char*s,*t1,*t2,*w)应改为void fun(char*s,char*t1,char*t2,char*w)
第2处:while(r)应改为while(*r)
第十一题
下列给定程序中,函数fun的功能是:将一个由八进制数字字符组成的字符串转换为与其
面值相等的十进制整数。
规定输入的字符串最多只能包含5位8进制数字。
例如,若输入
77777,则输出将是32767。
第1处:n=*p-'o';应改为n=*p-'0';
第2处:n=n*7+*p-'o';应改为n=n*8+*p-'0';
第十二题
下列给定程序中函数fun的功能是:求出在字符串中最后一次出现的子字符串的地址,通
过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为abcdabfabcdx,t中的内容为ab时,输出结果应是:abcdx.。
当
字符串中的内容为abcdabfabcdx,t中的内容为abd时,则程序输出未找到信息:not be found!。
第1处:a=NuLL;应改为a=NULL;
第2处:if(r==p)应改为if(*r==*p)
第十三题
下列给定程序中,fun函数的功能是:根据形参m,计算如下公式的值。
1 1 1 1
t=1++ + ++
2 3 4 m
例如,若输入5,则应输出2.283333。
第1处:t+=1.0/k;应改为t+=1.0/i;
第2处:应填return t;
第十四题
下列给定程序中,函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并
要求绝对误差不超过0.001。
例如,若给m输入-100,给n输入90,则函数求得的一个根值为
2.000。
第1处:int r;应改为double r;
第2处:while(fabs(n-m)<0.001)应改为while(fabs(n-m)>0.001)
第十五题
下列给定程序中,函数fun的功能是:判断字符ch是否与str所指串中的某个字符相同;若
相同,则什么也不做,若不同,则将其插在串的最后。
第1处:void fun(char str,char ch)应改为void fun(char*str,char ch)
第2处:if(*str==ch)应改为if(*str=='\0')
第3处:str[1]='0';应改为str[1]='\0';或str[1]=0;
第十六题
下列给定程序中的函数Creatlink的功能是:创建带头结点的单向链表,并为各结点数据域
赋0到m-1的值。
第1处:p->next=NULL;应改为p=s;
第2处:s->data=rand()%m;应改为s->data=rand()%(m-1);
第3处:return p;应改为return h;
第17题
下列给定程序中,函数fun的功能是:计算并输出k以内最大的10个能被13或17整除的自然
数之和。
k的值由主函数传入,若k的值为500,则函数值为4622。
第1处:if((k%13=0)||(k%17=0))应改为if((k%13==0)||(k%17==0))
第2处:应填}
弟十八题
下列给定程序中,函数fun的功能是:实现两个整数的交换。
例如给a和b分别输入60和65,
输出为:a=65 b=60
第1处:void fun(int a,int b)应改为void fun(int*a,int*b)
第2处:t=b;b=a;a=t;应改为t=*b;*b=*a;*a=t;
第十九题
下列给定程序中函数fun的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构
成一个新数放在t中。
例如,当s中的数为7654321时,t中的数为642。
第1处:void fun(long s,long t)应改为void fun(long s,long*t)
第2处:while(s<0)应改为while(s>0)
第二十题
N个有序整数数列已放在一维数组中,给定下列程序中,函数fun 的功能是:利用折半查找
算法查找整数m在数组中的位置。
若找到,则返回其下标值;反之,则返回-1。
折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(low<high),
然后把m与中间位置(mid)中元素的值进行比较。
如果m的值大于中间位置元素中的值,则下一
次的查找范围放在中间位置之后的元素中;反之,下一次的查找范围落在中间位置之前的元素
中。
直到low>high,查找结束。
第1处:void fun(int a[],int m)应改为int fun(int a[],int m)
第2处:if(m>=a[mid])应改为if(m>a[mid])
第21题
下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。
函数
fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。
第1处:p=h;应改为p=h->next;
第2处:p=h->next;应改为p=p->next;
第22题
下列给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值。
1 1 1 1
y=1+ + + + +
2′23′3 4′4m′m
例如,若m中的值为5,则应输出:1.463611。
第1处:for(i=2;i<m;i++)应改为for(i=2;i<=m;i++)
第2处:y+=1/(i*i);应改为y+=1.0/(i*i);
第23题
在主函数中从键盘输入若干个数放入数组x中,用0结束输入但不计入数组。
下列给定程序
中,函数fun的功能是:输出数组元素中小于平均值的元素。
例如:数组中元素的值依次为1,2,2,12,5,15,则程序的运行结果为1,2,2,5。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表
达式或语句。
下列给定程序中,函数fun的功能是:按以下递归公式求函数值。
ì10 (n=1)
fun(n)=í
?fun(n-1)+ 2(n>1)
例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。
第1处:int fun(n)应改为int fun(int n)
第2处:if(n=1)应改为if(n==1)
第24题
下列给定程序中,函数fun的功能是:从s所指字符串中,找出t所指子串的个数作为函数值
返回。
例如,当s所指字符串中的内容为abcdabfab,t所指字符串的内容为ab,则函数返回整数
3。
第1处:if(r==p)应改为if(*r==*p)
第2处:if(r=='\0')应改为if(*r=='\0')
第25题
下列给定程序中函数fun的功能是:计算n!。
例如,给n输入5,则输出120.000000。
第1处:if n==0应改为if(n==0)
第2处:result=n--;应改为result*=n--;
第26题
下列给定程序中,函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,
然后输出主对角线元素之和。
第1处:应填sum=0;
第2处:scanf("%d,",a[i][j]);应改为scanf("%d,",&a[i][j]);
第27题
下列给定程序中,函数fun的功能是:根据以下公式求л值,并作为函数值返回。
p 1 1 21 2 3 1 324
=1++ ′+′′+ ′′′+
2 3 3 53 5 7 3 579
例如,给指定精度的变量eps输入0.0005时,应当输出Pi=3.140578。
第1处:t=0;应改为t=1.0;
第2处:while(t<=eps)应改为while(t>=eps)
第28题
下列给定程序中,函数fun的功能是:在字符串的最前端加入n 个*号,形成新串,并且覆
盖原串。
注意:字符串的长度最长允许为79。
第1处:s=p;应改为p=s;
第2处:应填p++;或++p;或p+=1;或p=p+1
第3处:a[i]='0';应改为a[i]='\0';或a[i]=0;
第29题
下列给定程序中,函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值
返回。
例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给num1和num2
分别输入27和81,则输出的最大公约数为27。
第1处:b=a;应改为a=b;
第2处:return(a);应改为return(b);
第30题
下列给定程序中函数fun的功能是:计算正整数num的各位上的数字之积。
例如,若输入
252,则输出应该是20。
若输入202,则输出应该是0。
第1处:long k;应改为long k=1;
第2处:num\=10;应改为num/=10;
第31题
下列给定程序中,函数fun的功能是:将字符串tt中的小写字母都改为对应的大写字母,其
他字符不变。
例如,若输入“Ab,cD”则输出“AB,CD”。
第1处:if((tt[i]>='a')||(tt[i]<='z'))应改为if((tt[i]>='a')&&(tt[i]<='z'))
第2处:tt[i]+=32;应改为tt[i]-=32;
第32题
下列给定程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然
后再按顺序对每五个元素求一个平均值,并将这些值依次存放在w 所指的数组中。
若s所指数组
中元素的个数不是5的倍数,多余部分忽略不计。
例如,s所指数组有14个元素,则只对前10个
元素进行处理,不对最后的4个元素求平均值。
第1处:if(i+1%5==0)应改为if((i+1)%5==0)
第33题
下列给定程序中,函数fun的功能是:将s所指字符串中的字母转换为按字母序列的后续字
母(但Z转换A,z转换为a),其他字符不变。
第1处:while(*s!='@')应改为while(*s)或while(*s!='\0')或while(*s!=0) 第2处:(*s)++;应改为s++;
第34题
下列给定程序中函数fun的功能是:将长整型数中每一位上为奇数的数依次取出,构成一
个新数放在t中。
高位仍在高位,低位仍在低位。
例如,当s中的数为87653142时,t中的数为
7531。
第1处:t=0;应改为*t=0;
第2处:if(d%2==0)应改为if(d%2!=0)
第35题
下列给定程序中,fun函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写
(这里的“单词”是指由空格隔开的字符串)。
例如,若输入:I am a student to take the examination.
则应输出:I aM A studenT tO takE thE examination.
第1处:if(p=='')应改为if(*p=='')
第2处:*p=toupper(*(p-1));应改为*(p-1)=toupper(*(p-1));
第36题
下列给定程序中,函数fun的功能是:求三个数的最小公倍数。
例如,给变量x1、x2、x3
别输入15 11 2,则输出结果应当是330。
第1处:j=1;应改为j=0;
第2处:while(t!=0&&m!=0&&n!=0)应改为while(t!=0||m!=0||n!=0)
第37题
下列给定程序中,函数fun的功能是:计算s所指字符串中含有t所指字符串的数目,并作为
函数值返回。
第1处:*r=t;应改为r=t;或r=&t[0];
第2处:应填r=t;或r=&t[0];
第38题
下列给定程序中,函数fun的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。
例如变量a中的值原为8,b中的值原为3,
程序运行后a中的值为3,b中的值为8。