除*/
a[j++]=a[i];
a[j]='\0';/*在字符串最后加上结束标识*/
}
二级C_第20套上机题
【参考答案】首先从素数2开始,将所有2的倍数的数从数表中删去(把数
表中相应位置的值置成0);
(1)a[i]
(2)a[i] (3)0
【参考答案】为一个偶数寻找两个素数,这两个素数之和等于该偶数,并
将这两个素数通过形参指针传回主函数。
(1)y=1;
(2)d=a-i;
【参考答案】计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数
之和。
doublefun(intn)
{
inti;
doublesum=0.0;
for(i=1;i<=n;i++)
if(i%5==0||i%9==0)
sum+=1.0/i;
returnsum;
}
二级C_第21套上机题
【参考答案】将形参s所指字符串中下标为奇数的字符取出,并按ASCII码
大小递增排序,将排序后的字符存入形参p所指字符数组中,形成一个新
串。
(1)while(fabs(t)>=num)
(2)t=s/n;
【参考答案】用下面的公式求π的近似值,直到最后一项的绝对值小于指
定的数(参数num)为止。
(1)t=i
(2)i (3)'\0'或0
【参考答案】删除一个字符串中指定下标的字符。
voidfun(chara[],charb[],intn)
{
inti,k=0;
for(i=0;a[i]!
='\0';i++)
if(i!
=n)
/*将不是指定下标的字符存入数组b中*/
b[k++]=a[i];
b[k]='\0';/*在字符串最后加上结束标识*/
}
二级C_第22套上机题
【参考答案】直到
<10-6。
若x=2.5,函数值为12.182494。
(1)x
(2)n (3)t
【参考答案】计算n的5次方的值(规定n的值大于2且小于8)
(1)d=1;
(2)s=0;
(3)d=d/10;
【参考答案】计算并输出给定数组(长度为9)中每相邻两个元素的平均值
的平方根之和。
doublefun(doublex[9])
{
doublesum=0.0;
inti,j=1;
for(i=0;i<9;i++)
if(j<=8)
{
sum+=sqrt((x[i]+x[i+1])/2.0);j++;/*相邻两个元素之
平均值的平方根之和*/
}
returnsum;
}
二级C_第23套上机题
【参考答案】若形参ch中是小写英文字母,则转换成对应的大写英文字母
;若ch中是大写英文字母,则转换成对应的小写英文字母;
(1)&&
(2)'A' (3)ch
【参考答案】例如,输入1、2、3、4,程序运行后输出以下方阵:
4 1 2 3
3 4 1 2
2 3 4 1
1 2 3 4
(1)voidfun(int*a)
(2)a[j]=a[j-1];
【参考答案】计算并输出给定整数n的所有因子(不包括1与自身)之和
intfun(intn)
{
ints=0,i;
for(i=2;i<=n-1;i++)/*将n减1累加*/
if(n%i==0)
s+=i;
returns;
}
二级C_第24套上机题
【参考答案】从三个形参a、b、c中找出中间的数,并作为函数值返回。
(1)a
(2)a (3)b
【参考答案】将大写字母转换为对应小写字母之后的第5个字母
(1)c=c+32;
(2)c=c+5;
【参考答案】计算并输出
S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5)
的值。
doublefun(intn)
{
inti;
doubles=0.0,s1=0.0;
for(i=1;i<=n;i++)
{s1=s1+pow(i,0.5);/*求每一项*/
s=s+s1;/*按公式求出s*/
}
returns;
}
二级C_第25套上机题
【参考答案】在形参s所指字符串中寻找与参数c相同的字符,并在其后插
入一个与之相同的字符,
(1)'\0'
(2)0 (3)c
【参考答案】:
计算数组元素中所有值为正数的平均值(不包括0)。
(1)doublesum=0.0;
(2)sum/=c;
【参考答案】若n的值为11时,函数的值为1.833333
floatfun(intn)
{
inti,s1=0;
floats=0.0;
for(i=1;i<=n;i++)
{s1=s1+i;
/*求每一项的分母*/
s=s+1.0/s1;/*求多项式的值*/
}
returns;
}
二级C_第26套上机题
【参考答案】从形参ss所指字符串数组中,删除所有串长超过k的字符串
,函数返回剩余字符串的个数
(1)N
(2)k (3)ss[i]
【参考答案】逐个比较p、q所指两个字符串对应位置上的字符,并把
ASCII值大或相等的字符依次存放到c所指的数组中
(1)intk=0;
(2)while(*p||*q)
【参考答案】除了字符串前导的*号之外,将串中其它*号全部删除。
不得
使用C语言提供的字符串函数。
voidfun(char*a)
{
inti=0;
char*p=a;
while(*p&&*p=='*')
{
a[i]=*p;
i++;
p++;
}
while(*p)
{
if(*p!
='*')
{a[i]=*p;i++;}
p++;
}
a[i]='\0';
}
二级C_第27套上机题
【参考答案】各位上为偶数的数取出,并按原来从高位到低位相反的顺序
组成一个新数,作为函数值返回。
(1)0
(2)10*x(3)n/10
【参考答案】将长整型数中各位上为奇数的数依次取出,构成一个新数放
在t中。
高位仍在高位,低位仍在低位。
(1)*t=0;
(2)if(d%2!
=0)或if(d%2==1)
【参考答案】实现两个字符串的连接(不要使用库函数strcat),