c++试题,求答案
四、填空,完善程序(每空2分,共30分)1.猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子共摘了几个桃子。
int main() {
int day,x1,x2;
day=9;
x2=1;
while(day>0){
(1) ; // 某天的桃子数x1是前一天桃子数x2加1后的2倍
(2) ;
(3) ;
}
cout<<"total="<<x1<<endl;
return 0;
}
2.用递归法求从1到n的平方和:
f(1)=1 (n=1)
f(n)=f(n-1)+n*n (n>1)
#include <iostream>
using namespace std;
int f(int);
int main(){
int n,s;
cout<<"input the number n:";
cin>>n;
s= (4) ;
cout<<"The result is "<<s<<endl;
return 0;
}
int f(int n){ //递归法求平方和函数
if ( (5) ) return 1;
else return ( (6) );
}
3.若一头小母牛从出生第四个年头开始每年生一头母牛,按此规律,第n年时总共会有多少头母牛。采用递推算法。
void main(){
int n,i;
long a=0, b=0, c=0, d=1,temp;
//a是3岁及以上母牛数,b是2岁,c是1岁,d是0岁
cout <<"请输入年数n: ";
cin >>n;
cout<<endl;
for(i=1; i<n; i++){
(7) ; //第n年时,3岁及以上母牛数
(8) ; //第n年时,2岁母牛数
(9) ; //第n年时,1岁母牛数
(10) ; //第n年时,新生牛数
}
cout <<"第n年总共有"<< (11) <<"头母牛。"<<endl;
}
4.将100元换成用10元、5元和1元的组合,共有多少种组合方法。采用穷举法。考虑10元最多10张,5元最多20张,余下是1元。
int main(){
int i,j,k,count=0;
for(i=0; (12) ;i++)//i是10元张数,j是5元张数,k是1元张数
for(j=0; (13) ;j++){
k= (14) ;
if( (15) ){
cout<<i<<'\t'<<j<<'\t'<<k<<endl;
count++;
}
}
cout<<count<<endl;
return 0;
}
简答
1.C++编译器怎样对标识符进行解析?
2.复制构造函数用于哪三个方面?
3.类的静态数据成员与函数中的静态成员有何异同?
4. 指针变量与整型量的加减运算代表什么意义?
5. 采用索引查找有哪些优点?它需要被查找数据有序吗?