}
5.仔细阅读下列程序,回答后面的问题(第一问4分,第二问2分)
#include
doublef()
{staticdoublef1=1;
staticdoublef2=0;
doublef3=f1+f2;
f1=f2;f2=f3;
returnf3;
}
voidmain()
{intn;
cin>>n;
for(inti=1;i<=n;i++)
cout<cout<}
(1).当从键盘输入4时,程序的输出结果是。
(2).该程序的功能是。
6.程序运行后的输出结果是(4分)
#include
voidf(intx[],inti,intj)
{intt;
if(it=x[i];x[i]=x[j];x[j]=t;
i++;j--;
f(x,i,j);
}
}
voidmain()
{intdata[]={2,0,3,8};
f(data,0,3);
for(inti=0;i<4;i++)cout<cout<}
7.程序运行后的输出结果是(7分)
#include
voidmain()
{intdata[]={6,5,4,3,2,1,0};
for(inti=0;i<3;i++)
for(intj=0;j<6-i;j++)
if(data[j]>data[j+1]){
intt=data[j];
data[j]=data[j+1];
data[j+1]=t;
}
for(i=0;i<7;i++)
cout<cout<}
8.当程序运行过程中从键盘输入3时,输出结果是(6分)
#include
voidmain()
{
constintN=10;
intdata[N][N]={0};
intn;intk=1;
cout<<“请输入一个不大于10的正整数:
\n“;
cin>>n;
for(intm=0;m<=n-1;m++)
for(intj=0;j<=m;j++)
data[m-j][j]=k++;
for(m=n;m<=2*(n-1);m++)
for(intj=m-n+1;jdata[m-j][j]=k++;
for(inti=0;ifor(intj=0;jcout<cout<}
}
五、程序完善题(每空2分,共24分)
1.有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办理,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?
以下是求解上述问题的程序,请仔细阅读,并完善程序。
(6分)
#include
voidmain(void)
{int;
for(;i>0;i--)
;
cout<<”这堆桃子原来共有”<”<}
2.完善下列程序,使其运行后能输出如右图1所示的图形(6分)
#include
voidmain(void)
{
charc=‘A’;
for(inti=1;i<=4;i++){
for(intj=1;j<=4-i;j++)
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
图1第2题的输出结果
cout<<"";
for(j=1;j<=;j++)
cout<c++;
cout<}
;
for(i=1;i<=3;i++){
for(intj=1;j<=i;j++)
cout<<"";
for(j=1;j<=;j++)
cout<c--;
cout<}
}
3.下列程序的功能是在有序(降序)的数组中,用二分法查找指定的元素,请完善该程序(6分)
#include
intB_Search(intdata[],intx,intn)
{intright=n-1;
intleft=0;
intindex;
while(left<=right){
index=(left+right)/2;
if(data[index]elseif(data[index]>x);
elsereturnindex;
}
;
}
voidmain(void)
{intdata[]={9,8,6,5,4,3,2,1};
intz;
cout<<"请输入待查的数:
"<cin>>z;
intindex=B_Search(data,z,sizeof(data)/sizeof(int));
if(index==-1)
cout<<"数组中无此元素!
"<else
cout<"<}
4.下列程序的功能是判别从键盘输入的一个不超过5位的整数是不是回文数,请完善程序。
(6分)
#include
intIs_Palindrome(intdata[],intn)
{intright=n-1;
intleft=0;
while(left<=right){
if()return0;
else{
left++;
right--;
}
}
return1;
}
voidmain(void)
{constintN=5;
intdata[N];
intnum=0;intx;
cout<<"请输入待判别的数(不超过5位整数):
"<cin>>x;
intz=x;
while(z!
=0){
data[num]=z%10;
;
num++;
}
intflag=Is_Palindrome();
cout<<"输入的数据是:
"<if(flag)
cout<<"该数是回文数!
"<else
cout<<"该数不是回文数!
"<}
(此文档部分内容来源于网络,如有侵权请告知删除,文档可自行编辑修改内容,供参考,感谢您的配合和支持)