return0;
}
五、程序设计题(根据功能要求,编写程序,实现其功能,2题,每题10分,共20分)
1.请编写一个函数longsum(intn),用递归函数完成运算:
sum(n)=1*1+2*2+…+n*n,递归表达式为sum(n)=sum(n-1)+n2。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
#include
usingnamespacestd;
longsum(intn)
{
intsum=0;
while(n>0)
{sum+=n*n;
n--;}
returnsum;
}
intmain()
{ intn;
cout<<"输入n:
";
cin>>n;
cout<<"结果为:
"<return0;
}
2.请编写函数fun(),该函数的功能是判断字符串是否为回文,若是则函数返回1,主函数中输出YES;否则返回0,主函数中输出NO。
回文是指顺读和倒读都一样的字符串。
例如:
字符串LEVEL是回文,而字符串123312就不是回文。
请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。
#include
usingnamespacestd;
#defineN80
intfun(char*str)
{
}
intmain()
{
chars[N];
cout<<"Enterastring:
"<gets(s);
cout<<"\n\n";
puts(s);
if(fun(s))
cout<<"YES\n";
else
cout<<"NO\n";
return0;
}
模拟试卷(A卷)
参考答案及评分标准
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号内。
每小题2分,共15小题,30分)
1.D2.C3.D4.D5.C6.C7、D8.D9.B10.A
11.A12、A13.A14.D15.B
二、改错题(每题有几处错误,在错误处画线,并写出正确语句。
每找对1个错误,加1分,每修改正确1个错误,再加1分。
共3小题,共16分)
1.答案:
#include
usingnamespacestd;
constfloatpi=3.1416;
constfloatr=3.2;
intmain(){
floats1,c1;
//r=2.8;
c1=pi*r*r;
s1=2*pi*r;
cout<return0;
}
2.答案:
#include
usingnamespacestd;
doublefun(doublex,doubley)
{inti;
doubles=1;
for(i=1;i<=y;i++)
s=s*x;
returns;
}
intmain()
{doublex=2.5,y=3;
cout<<"pow(2.5,2):
"<cout<<"pow(2.5,3):
"<return0;
}
3.答案:
#include
usingnamespacestd;
voidsort(intp[],intn)
{inti,j,temp;
for(i=0;ifor(j=i;jif(p[i]>p[j])
{temp=p[i];
p[i]=p[j];
p[j]=temp;}
}
intmain(void)
{inta1[6]={1,3,2,5,4,6},*pi,i;
pi=a1;
sort(pi,6);
for(i=0;i<6;i++)cout<cout<return0;
}
三、程序理解分析题(分析下列程序代码,并在程序右侧写出程序的输出结果,共4小题,每题4分,共16分)
1.运行时的输出结果是15
2.运行时的输出结果是7
3.运行时的输出结果是i1=4,i2=3
4.运行时的输出结果是201,21,202,22
四、程序填空题(在横线处填上一个语句,使程序实现其相应的功能。
每空3分,共6个空,总共18分)
1、m/*第一空*/
n/*第二空*/
min/*第三空*/
2.m=i;/*第一空*/
min=a[m][0];/*第二空*/
min=a[m][j];/*第三空*/
五、程序设计题(根据功能要求,编写程序,实现其功能,2题,每题10分,共20分)
1.【参考答案】
longsum(int n)
{
if(n==1)
return 1;
else
return n*n+sum(n-1);
}
2.【参考答案】
int fun(char *str)
{
int i,n=0,fg=1;
char *p=str;
while(*p)
{
n++;
p++;
}
for(i=0;iif(str[i]==str[n-1-i]) ;
else
{
fg=0; break;
}
return fg;
}