第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

我把遞歸函數(shù)中的猴子摘桃子問題改成靜態(tài)變量static這里是哪里出了問題了?

#include?<stdio.h>
int?getPeachNumber(n)
{
????int?num;????//定義所剩桃子數(shù)
????if(n==10)
????{
???????return?1;???????//遞歸結(jié)束條件
????}?
????else
????{
????????static?num=1;
????????num?=(num+1)*2;???//這里是不應(yīng)該用遞歸呢?
????????printf("第%d天所剩桃子%d個(gè)\n",?n,?num);?//天數(shù),所剩桃子個(gè)數(shù)
????}
????return?num;
}
int?main()
{
????int?i;
????for(i=9,i<0,i--)
????{
????????gerpeachNumber(i);
????}
????printf("猴子第一天摘了:%d個(gè)桃子。\n",?num);
????return?0;
}


正在回答

10 回答

#include <stdio.h>

int getnumber(int n) ? ?//定義getnumber是和天數(shù)有關(guān)的函數(shù)

{

? ? static int num=1;

? ? num=(num+1)*2;

? ? printf("第%d天剩%d個(gè)桃子。\n",n,num);

? ? return num;

}

main()

{

? ? int getnumber(int n);

? ? int i,z;

? ? for(i=9;i>0;i--) ?//天數(shù)每天遞減

? ? {

? ? ? ? z=getnumber(i); ?//每次將z重新賦值為函數(shù)getnumber的返回值,得出循環(huán)到九天的桃子數(shù)

? ? }

? ? printf("猴子第一天有%d個(gè)桃子。",z);

?

}


0 回復(fù) 有任何疑惑可以回復(fù)我~

李同學(xué),你的24行代碼 getnumbei寫錯(cuò)了

0 回復(fù) 有任何疑惑可以回復(fù)我~

大牛,你看我改了改這段程序問題出在哪里了?

#include?<stdio.h>
int?getnumber(int?n)????//定義getnumber是和天數(shù)有關(guān)的函數(shù)
{
	static?num=1;
	
	
	num=(num+1)*2;
	
	printf("第%d天剩%d個(gè)桃子。\n",n,num);
	return?num;

}
main()
{
	int?getnumber(int?n);
	int?i,z;


	for(i=9;i>0;i--)??//天數(shù)每天遞減
	{
		getnumber(i);??//執(zhí)行g(shù)etnumber這個(gè)函數(shù)
		
		z=getnumbei(i);??//每次將z重新賦值為函數(shù)getnumber的返回值,得出循環(huán)到九天的桃子數(shù)
	}
	printf("猴子第一天有%d個(gè)桃子。",z);
	
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
#include?<stdio.h>
int?getnumber(int?n)
{
	static?num;
	
	num=(n+1)*2;
	return?num;
}
main()
{
	int?getnumber(int?n);
	int?i,z;
	int?n=1;
	for(i=9;i>0;i--)
	{
		z=getnumber(n);
		n=z;
		printf("第%d天剩%d個(gè)桃子。\n",i,n);
	}
	printf("猴子第一天有%d個(gè)桃子。",n);
}

如上。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉5652354 提問者

非常謝謝大牛的耐性心指導(dǎo),不過我有一點(diǎn)疑問,在你的程序中g(shù)etnember函數(shù)作用是計(jì)算每天的桃子數(shù),這個(gè)函數(shù)只和n有關(guān),也就是前天的桃子數(shù),那么這里不需要static num,用int num就可以了
2015-10-27 回復(fù) 有任何疑惑可以回復(fù)我~

你的想法沒錯(cuò),你是想多次調(diào)用函數(shù)。所以已經(jīng)不是遞歸調(diào)用。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉5652354 提問者

對啊,我的想法就是不用遞歸做直接用static做。大神你能幫我改改這個(gè)程序讓這個(gè)程序運(yùn)行嗎?
2015-10-26 回復(fù) 有任何疑惑可以回復(fù)我~

你為啥要用static,他是一個(gè)全局靜態(tài)變量,存儲(chǔ)在靜態(tài)數(shù)據(jù)區(qū)的變量會(huì)在程序剛開始運(yùn)行時(shí)就完成初始化,也是唯一的一次初始化。而此時(shí)明顯你這個(gè)值是不斷變化的,num?=(num+1)*2;并且你沒有調(diào)用函數(shù),不能算是遞歸。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉5652354 提問者

我的想法是這樣的 第一次循環(huán)n=9 num=(1+1)*2=4 輸出 第9天所剩桃子4個(gè); 因?yàn)閚um定義的是static變量所以第二次num的初值是4 所以第二次循環(huán)n=8 num=(4+1)*2=10 輸出 第8天所剩桃子10個(gè); ..... 我這樣的想法是錯(cuò)誤的嗎?
2015-10-26 回復(fù) 有任何疑惑可以回復(fù)我~

你這個(gè)程序的原來目的是啥呢?你要把題告訴我。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉5652354 提問者

猴子第一天摘下N個(gè)桃子,當(dāng)時(shí)就吃了一半,還不過癮,就又多吃了一個(gè)。第二天又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天都吃前一天剩下的一半零一個(gè)。到第10天在想吃的時(shí)候就剩一個(gè)桃子了,問第一天共摘下來多少個(gè)桃子?并反向打印每天所剩桃子數(shù)。
2015-10-26 回復(fù) 有任何疑惑可以回復(fù)我~

原來是這樣的

#include?<stdio.h>
int?getPeachNumber(n)
{
????int?num;????//定義所剩桃子數(shù)
????if(n==10)
????{
???????return?1;???????//遞歸結(jié)束條件
????}?
????else
????{
????????num?=?(getPeachNumber(n+1)+1)*2;???//這里是不應(yīng)該用遞歸呢?
????????printf("第%d天所剩桃子%d個(gè)\n",?n,?num);?//天數(shù),所剩桃子個(gè)數(shù)
????}
????return?num;
}
int?main()
{
????int?num?=?getPeachNumber(1);
????printf("猴子第一天摘了:%d個(gè)桃子。\n",?num);
????return?0;
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

整個(gè)程序都很亂。


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕粉5652354 提問者

不好意思麻煩您可以教我修改一下嗎?我的想法就是把這個(gè)原來程序中所用的遞歸函數(shù)去掉然后改成用局部靜態(tài)變量做。
2015-10-26 回復(fù) 有任何疑惑可以回復(fù)我~

你錯(cuò)誤的地方太多,函數(shù)名,for循環(huán)中不是逗號(hào)是分號(hào)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C語言入門
  • 參與學(xué)習(xí)       926929    人
  • 解答問題       21533    個(gè)

C語言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語言

進(jìn)入課程

我把遞歸函數(shù)中的猴子摘桃子問題改成靜態(tài)變量static這里是哪里出了問題了?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)