本文目錄一覽:
C語言 猴子吃桃
你好!!!
其實這是個遞歸問題!!!
思路分析如下:
某一天吃的是前一天的一半還多一個,假設今天剩下為x1,昨天共有x2個桃子,它們的關係是:x1=x2/2-1,即x2=(x1+1)*2,那麼既然已經知道今天剩下的桃子,那麼就可以知道,昨天的,要是知道昨天的,那麼前天的就知道了,要是知道前天的,那麼大前天的也就知道了、、、、、、到最後一定知道第一天的陶子總數。
現在我們來分析你的代碼:
從代碼可以知道,第九天只剩下一個桃子了,也就的循環九次,故代碼為:
while(day0)
{
x1=(x2+1)*2;
x2=x1;
day–;
}
不懂的我們在交流!!!
C語言問題
我還有前四題
(1) 基礎部分(以下8題,任選5題—60%,多做酌情加分)
①分屏處理數據系統:
隨機產生1000個數,並分屏顯示(每行顯示10個數字,每頁顯示10行),而且在每一屏的下方顯示本屏中數據的最大值、最小值和平均值。
提示:循環顯示,在分屏點上輸出press any key to continue…,通過getch()函數讓用戶以按回車鍵的方式進入下一屏。
②擲骰子遊戲:
兩人玩骰子,遊戲規則如下:
1) 兩人輪流擲骰子,每次擲兩個,每人最多擲10次。
2) 將每人每次的分值累加計分
3) 當兩個骰子點數都為6時,計8分;當兩個點數相等且不為兩個6時,計7分;當兩個點數不一樣時,計其中點數較小的骰子的點數。
4) 結束條件:當雙方都擲10次或經過5次後一方累計分數為另一方的兩倍。最後顯示雙方分數並判定優勝者。
③射擊遊戲:
在程序運行時屏幕上方第一行隨機出現一個 符號,要求遊戲者輸入一個1-200之間的整數,當用戶輸入一個整數後,一個*立即從屏幕底端的該整數列向上移動,若移動到屏幕的頂端能撞上 符號,則遊戲者獲勝;若沒有撞上,則要求再輸入一個整數,共允許輸入5次,如果一直沒有撞上,則認為遊戲者輸。
提示:
1)輸入 符號可以採用printf(“%c”,’\1′)
2)顯示*號向上移動:輸出一些空行;輸出*號;以循環的方式增加延時(for(i=0;i100000;i++););clrscr()清屏重新繪製*號。
④車票問題:
假設某線路的公共汽車共設置26個車站,準備了1元、2元…6元的車票,收費標準為:6站以內票價為1元,每4站票價增加1元。現在隨機生成一些乘客的上車站與下車站,顯示每位乘客應付的票價和單程售出的總票價,並統計幾元的車票賣得最多。
用C語言編程求出猴子頭天摘了多少果子
#include stdio.h
void main ()
{
int i=1,j;
for(j=0;j10;j++)
{
i=(i+1)*2;
}
printf(“猴子摘的果子數為:%d\n”,i);
}
多讀書,多做題自然就會了。
C語言的猴子吃桃代碼怎麼寫?
#include stdio.h
main()
{
int day,x1,x2;
day=9; //這裡假設n=9,你總要給一個n的,不然沒有辦法計算
x2=1; //第九天早上還有1個桃
while(day0)
{
x1=(x2+1)*2; //第8天吃了第7天剩下的一半多一個
//那第八天剩下的再加上1就是第8天原來的一半
//然後再乘以2既第八天原來的(也就是第7天剩的)
x2=x1; //讓x2是第八天的桃的數量
//下一輪循環計算第七天原來有多少桃
day–;
}
printf(“the total is %d\n”,x1);
}
C語言猴子吃桃,遞歸,return 1
getPeachNumber(x)表示第x天剩下桃子的數目
根據你的遞歸程序,到第十天只剩一個,所以getPeachNumber(10)=1
這個getPeachNumber(10)是反饋給getPeachNumber(9)的
因為getPeachNumber(9)=(getPeachNumber(10)+1)*2
這樣你知道第十天剩1個,就返回去算出第九天
算出第九天又能算出第八天
以此類推最後得到第一天
c語言編程題目關於賣水果
#include “stdio.h”
int main()
{
int i,sum[8];
sum[7] =5;//第八天的水果數,數組從0開始計數,所以是sum[7]
for(i = 7;i0;i–)//從第八天向前算
{
sum[i-1] = (sum[i]+2)*3;//通過公式x-(2/3x+2)=5推導而來
}
printf(“%d”,sum[0]);//總的水果數
return 0;
}
有什麼疑問請追問
原創文章,作者:HLFXY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/313687.html