【C語言練習】猴子喫桃

題目:一隻小猴子一天摘了許多桃子,第一天吃了一半,然後忍不住又吃了一個;第二天又吃了一半,再加上一個;後面每天都是這樣喫。到第10天的時候,小猴子發現只有一個桃子了。問小猴子第一天共摘了多少個桃子。

一、使用循環語句

1.使用for循環

#include<stdio.h>
int main()
{
    int taozi = 1;
    int day = 1;
    for (day = 10; day > 1;day --)
    {
        taozi++;
        taozi = 2 * taozi;
        printf("第%d天的桃子是%d個\n",day,taozi);
    }
    printf("第一天小猴子一共摘了%d個桃子",taozi);
}
#include<stdio.h>
int main()
{
	int day,taozi=1,i;
	for(day=9;day>=1;day--)
	{
		taozi=(taozi+1)*2;
		printf("第%d天的桃子是%d個\n",day,taozi);
	}
	printf("第一天小猴子一共摘了%d個桃子",taozi);
	return 0; 
}

【運行結果】
在這裏插入圖片描述

2.使用while循環

#include<stdio.h>
int main(void)
{
	int taozi=1,day=10;
	while(day>1){
		taozi=(taozi+1)*2;
		day--;
	};
	printf("第一天小猴子一共摘了%d個桃子",taozi);
	return 0;
 } 

【運行結果】
在這裏插入圖片描述

3.使用do…while循環

#include<stdio.h>
int main(void)
{
	int taozi=1,day=10;
	do{
		taozi=(taozi+1)*2;
		day--;
	}while(day>1);
	printf("第一天小猴子一共摘了%d個桃子",taozi);
	return 0;
 } 

【運行結果】
在這裏插入圖片描述

二、使用遞歸函數

#include<stdio.h>
int func(day)
{
	int taozi;
	if(day==10)
	{
		return taozi=1;
	}
	taozi=(func(day+1)+1)*2;
	return taozi;
}
int main()
{
	int taozi,day=1;
	taozi=func(day);
	printf("第一天小猴子一共摘了%d個桃子",taozi);
	return 0;
 } 

【運行結果】
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章