计算机二级考试真题CWord下载.docx
《计算机二级考试真题CWord下载.docx》由会员分享,可在线阅读,更多相关《计算机二级考试真题CWord下载.docx(240页珍藏版)》请在冰豆网上搜索。
n-1
第3处填空:
1或11或1L
改错题
下列给定程序的功能是:
读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:
2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
conio.h>
/********found********/
IsPrime(intn);
inti,m;
m=1;
for(i=2;
i<
n;
i++)
if!
(n%i)
m=0;
break;
return(m);
intj,k;
\npleaseenteranintegernumberbetween2and10000:
"
);
scanf("
%d"
&
k);
\n\nTheprimefactor(s)of%dis(are):
k);
for(j=2;
j<
k;
j++)
if((!
(k%j))&
&
(IsPrime(j)))
%4d,"
j);
\n"
第1处:
Isprime(intn);
应改为Isprime(intn)
第2处:
if!
(n%i)应该为if(!
(n%i))
第2套
填空题
请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。
斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:
011235813…..
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<
intfun(intn);
main()
{
inti,n=0;
scanf("
n);
for(i=0;
printf("
%d"
fun(i));
}
intfun(intn)
return0;
elseif(___2___)
return1;
else
第1处填空:
n==0或0==n或!
第2处填空:
n==1或1==n
第3处填空:
fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)
改错题
下列给定程序中,函数FUN的功能是:
逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。
例如,若a中的字符串为aBCDeFgH,b中的字符串为:
ABcd,则c中的字符串应为:
aBcdeFgH。
请改正程序中的错误,使程序能得出正确的结果。
注意:
string.h>
voidfun(char*p,char*q,char*c)
intk=1;
while(*p!
=*q)
if(*p<
*q)
c[k]=*q;
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
k++;
chara[10]="
aBCDeFgH"
b[10]="
ABcd"
c[80]={'
\0'
};
fun(a,b,c);
Thestringa:
puts(a);
Thestringb:
puts(b);
Theresult:
puts(c);
intk=1应改为intk=0;
while(*p!
=*q)应改为while(*p||*q)
第3套
请补充函数FUN(CHAR*S),该函数的功能是把字符串中的内容逆置.
例如:
字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba.
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
#defineN81
voidfun(char*s)
inti,n=strlen(s)-1;
chart;
for(i=0;
i++,___1___)
t=s[i];
___2___;
___3___;
chara[N];
Enterastring:
gets(a);
Theoriginalstringis:
fun(a);
Thestringaftermodified:
n--或--n或n-=1或n=n-1
s[i]=s[n]或*(s+i)=*(s+n)
s[n]=t或*(s+n)=t
下列给定的程序中,函数fun的功能是:
依次取出字符串中所以数字字符,形成新的字符串,并取代
原字符串。
请改正函数fun中的错误,使程序能得出正确的结果。
inti,j;
for(i=0,j=0;
s[i]!
='
;
if(s[j]>
0'
&
s[i]<
9'
)
s[j]=s[i];
s[j]="
\0"
charitem[80];
\nEnterastring:
gets(item);
\n\nThestringis:
%s\n"
item);
fun(item);
\n\nThestringofchangingis:
s[j]=s[i];
应改为s[j++]=s[i]
s[j]=”/0”;
应改为s[j]=’\0’;
编程题
请编写函数voidfun(intx,intpp[],int*n),它的功能是:
求出能整除x且不是偶数的各整数,并按从小到大
的顺序放在pp所指的数组中,这些除数的个数通过形参n返回.
例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15.
答案是:
voidfun(intx,intpp[],int*n)
inti=1,j=0,k=0,*t=pp;
for(i=0;
i<
=x;
i++)
if(i%2!
=0)
t[j]=i;
j++;
j;
if(x%t[i]==0)
pp[k]=t[i];
*n=k;
第4套
请补充函数FUN,它的功能是:
计算并输出N(包括N)以内能被3或7整除的所有自然数的倒数之
和。
例如,在主函数中从键盘给N输入30后,输出为:
S=1.226323。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语
句。
doublefun(intn)
inti;
doublesum=0.0;
for(i=1;
___1___;
if(i%3==0___2___i%7==0)
sum+=___3___/i;
returnsum;
intn;
doubles;
\nInputn:
"
s=fun(n);
\n\ns=%f\n"
s);
=n或n>
=i
||
1.0或(double)1
下列给定程序中,fun函数的功能是:
分别统计字符串中大写字母和小写字母的个数。
例如,给字符串s
输入:
AaaaBBb123CCccccd,则应输出结果:
upper=6,lower=8
voidfun(char*s,inta,intb)
while(*s)
if(*s>
A'
*s<
Z'
a++;
a'
z'
b++;
s++;
chars[100];
intupper=0,lower=0;
\nPleaseastring:
gets(s);
fun(s,&
upper,&
lower);
\nupper=%dlower=%d\n"
upper,lower);
voidfun(char*s,inta,intb)应改为voidfun(char*s,int*a,int*b)
第