买汽水

//描述:有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,
//方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。
//然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?
//输入:  
//输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=100),表示小张手上的空汽水瓶数。n=0表示输入结束,你的程序不应当处理这一行。 
//输出:  
//对于每组测试数据,输出一行,表示最多可以喝的汽水瓶数。如果一瓶也喝不到,输出0。 
//样例输入: 
//3
//10
//81
//0                    
//样例输出: 
//1
//5

//40

#include <stdio.h>
#include <stdlib.h>

int hehe(int empty){
	if(empty<=1)
		return 0;
	else if(empty==2)
		return 1;
	else{
		return (1+hehe(empty-2));
	}
}

int he(int *empty, int num){
	int k,cnt;

	for(k=0; k<num; k++){
		cnt = hehe(*(empty+k));
		printf("%d", cnt);
		if(k!=num-1) printf("
");
	}
}

int main(void){
	int empty[100], num=0;

	while(1){
		scanf("%d", empty+num);
		if(*(empty+num)==0)
			break;
		else
			num++;
	}
	he(empty, num);

	system("pause");
	return 0;
}


原文地址:https://www.cnblogs.com/xhyzjiji/p/6159384.html