①;
}
cout<}
cout<<”arrayb:
”<for(i=0;i{for(j=0;j
cout<
cout<}
}
intmain()
{inta[I][J]={{1,2,3,4},{5,6,7,8},{1,3,5,7}};
invert(inta[I][J]);
return0;
}
①b[j][i]=a[i][j]
四、程序分析题
1、下面程序的输出结果是( 816 )
#include
usingnamespacestd;
intfunc(inta,intb)
{staticintm=0;inti=2;
i+=m+1;
m=i+a+b;
return(m);
}
intmain()
{intk=4,m=1,p;
p=func(k,m);
cout<
p=func(k,m);
cout<
return0;}
2、下面程序的输出结果是( 61515 )
#include
usingnamespacestd;
intd=1;
fun(intp)
{staticintd=5;
d+=p;
cout<return(d);
}
intmain()
{inta=3;
cout<return0;}
3、下面程序的执行结果是( hlo )
#include
usingnamespacestd;
charch[]=”hello,boy!
”;
voidfun2(inti);
voidfun1(inti)
{cout<if(i<3)
{i+=2;
fun2(i);}
}
voidfun2(inti)
{cout<if(i<3)
{i+=2;
fun1(i);}
intmain()
{inti=0;
fun1(i);
cout<return0;
}
4、下面程序的执行结果是( )
#include
usingnamespacestd;
intmain()
{inta[10]={0,1,2};
intj;
for(j=2;j<6;j++)
a[j+1]=a[j]+2×a[j-1]×a[j-2];
cout<<”Thearrayis:
”<for(j=0;j<6;j++)
cout<<”a[“<return0;}
5、当输入123时,下列程序的输出结果是( 123 )
#include
usingnamespacestd;
intmain()
{intstr[3],i,*p=str;
for(i=0;i<3;i++)
{cin>>*p++;
cout<<*(p-1);}
return0;}
6、下面程序的输出结果是( 6 )
#include
usingnamespacestd;
voidfunc(int*a,intb[])
{b[0]=*a+6;}
intmain()
{inta,b[5];
a=0;b[0]=3;
func(&a,b);
cout<
return0;}
7、下列程序的输出结果是( 6 )
#include
usingnamespacestd;
intb=2;
intfunc(int*a)
{b+=*a;
return(b);}
intmain()
{inta=2,res=2;
res+=func(&a);
cout<return0;}
8、下面程序的输出结果是( 3600 )
#include
usingnamespacestd;
intw=3;
intfun(int);
intmain()
{intw=10;
cout<return0;}
intfun(intk)
{if(k==0)returnw;
return(fun(k-1)×k);}
9、下面程序的输出结果是(789 )
#include
usingnamespacestd;
intf(int);
intmain()
{inta=2,j;
for(j=0;j<3;j++)
cout<cout<return0;}
intf(inta)
{intb=0;
staticintc=3;
b++;c++;
return(a+b+c);}
五、应用题
a)从键盘上输入10个int型数,去掉重复的,将剩余的由大到小排序输出。
b)输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
c)有n个人围成一圈,顺序排号。
从第1个人开始报数,凡报到3(1~3报数)的人退出圈子,问最后留下的人原来排在第几号。
d)将一个数组中的值按逆序重新存放。
e)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天将剩下的桃子吃掉一半,且又多吃了一个。
以后每天都吃了前一天剩下的一半另加一个。
到第10天想再吃时,就只剩一个桃子了。
求第一天共摘了多少桃子。
f)输入圆柱体的底圆半径和圆柱体的高,求出底面面积、表面积及其体积。
要求用虚函数实现。