攒点笔试题

http://www.mianwww.com/?cat=102     百度面试题 百度笔试题  专栏


百度最新面试题集锦  http://blog.csdn.net/hackbuteer1/article/details/7348968


百度2012年春季实习生校园招聘笔试题和答案  http://blog.csdn.net/lianxiang_biancheng/article/details/7557446

http://blog.csdn.net/hackbuteer1/article/details/7581306  2012百度实习生招聘面试题

1.数组元素平移交换

int a[n],如果将a[0..i-1],a[i..n]平移交换,即得到新数组a[i..n..0..i-1].

方法一:用i个临时变量保存a[0..i-1],然后将a[i...n]左移i,最后将a[0..i-1]放入原数组最后i个位置.

方法二:利用原理 (a'b')'=ba; '表示逆序操作.

方法二代码:

#include <iostream>
using namespace std;
void main(){
	int a[10] = {1,2,3,4,5,6,7,8,9,10};
	int m = 10, n = 3;
	int i, j;
	for(i = 0, j = n-1; i < j; i++, j--){
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	}
	for(i = n, j = m-1; i < j; i++, j--){
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	}

	for(i = 0, j = m - 1; i < j; i++, j-- ){
		int temp = a[i];
		a[i] = a[j];
		a[j] = temp;
	}
	for(i = 0; i < m; i++){
		cout<<a[i]<<endl;
	}
}

2.指向数组指针、函数指针


3.构造函数调用次数


4.有一对兔子,从出生后每三个月都生一对兔子,小兔子长到第三个月后每3个月又生一对兔子,假如兔子都不死,请打印输出1年内的每个月的兔子数量。

考的知识点是递归

#include <iostream>
using namespace std;

int f(int month){

	if(month == 0 ) 
		return 1;
	if(month < 0)
		return 0;
	
	return f(month - 3) + f(month -6);   //f(month)

}

void main(){
	int month = 6; int num;
	for( month = 1; month <= 12; month++){
		num = f(month - month%3) + f(month - 3 - month%3 );
		cout<<num<<endl;
	}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值