1. 程式人生 > >第五週 練兵區——程式設計題——不計入總分 9

第五週 練兵區——程式設計題——不計入總分 9

9

猴子吃桃程式_擴充套件2(4分)

題目內容:

猴子第一天摘了若干個桃子,吃了一半,不過癮,又多吃了1個。第二天早上將剩餘的桃子又吃掉一半,並且又多吃了1個。此後每天都是吃掉前一天剩下的一半零一個。到第n天再想吃時,發現只剩下1個桃子,問第一天它摘了多少桃子?為了加強互動性,由使用者輸入不同的天數n進行遞推,即假設第n天的桃子數為1。同時還要增加對使用者輸入資料的合法性驗證(如:不允許輸入的天數是0和負數)

程式執行結果示例:

Input days:

0↙

Input days:

-5↙

Input days:

a↙

Input days:

3↙

x=10

輸入格式: 

"%d"

輸出格式:

輸入提示資訊:"Input days:\n"

輸出:"x=%d\n"

為避免出現格式錯誤,請直接拷貝貼上題目中給的格式字串和提示資訊到你的程式中。

時間限制:500ms記憶體限制:32000kb

#include <stdio.h> int main() {     int z,x=1,c,v=1;     printf("Input days:\n");     c=scanf("%d",&z);     while(1)     {         while(c!=1)         {             while(getchar()=='\n');             printf("Input days:\n");             c=scanf("%d",&z);         }         if(z<=0)         {             printf("Input days:\n");             c=scanf("%d",&z);         }         else             goto floot;     } floot:    for (;x<z;x++)    {        v=(v+1)*2;    }    printf ("x=%d\n",v);     return 0; }