填空题
给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
void
{
n=0;
for(i=0;
for(i=1;
___1___;
for(j=___2___+2
if(s[t]>s[j])
if(t!=i)
{
}
for(i=1,j=0;
/
p[j]=___3___;
}
main()
{
printf("nThe
fun(s,p);
printf("nThe
}
解题思路:
第一处:取外循环的控制变量,所以应填:t=i。
第二处:内循环的起始变量,应该是i+2,所以应填:i。
第三处:新字符串处理完后应添加字符串结束符,所以应填:''。
给定程序MODI1.C中函数
π
┄┄≈1
4
例如,
请改正程序中的错误,使它能输出正确的结果。
注意:不要改动
给定源程序:
#include
#include
float
{
float
t
while(t
{
pi
n
s
t
}
pi
return
}
main(
{
printf("Enter
scanf("%f",
n2
printf("%6.4fn",
}
解题思路:
第一处:要判断t的最后一项绝对小于指定的数,由于t是实数,那么应改为while(fabs(t)>=num)。
第二处:t是s除以n的值,而不是取余数,所以应改t=s/n;。
请编写一个函数void
例如,输入一个字符串:
注意:
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
#include
#define
void
{
}
main(
{
int
printf("Enter
gets(str1)
printf("Enter
scanf("%d",
fun(str1,
printf("The
NONO()
}
解题思路:
本题是利用字符串拷贝和字符串连接来生成新的字符串。
参考答案:
void
{
strncpy(b,
b[n]
strcat(b,