真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

跳一跳

題目:

跳一跳是一款微信小游戲,游戲規(guī)則非常簡單,只需玩家要從一個方塊跳到下一個方塊,如果未能成功跳到下一個方塊則游戲結(jié)束。

為茫崖等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及茫崖網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、茫崖網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

計分規(guī)則如下:

1. 如果成功跳到下一個方塊上,但未跳到方塊中心,加1分

2. 如果成功跳到下一個方塊上,且剛好跳到方塊中心,則第一次加2分,此后連續(xù)跳到中心時每次遞增2分。也就是說,第一次跳到方塊中心加2分,連續(xù)第二次跳到方塊中心加4分,連續(xù)第三次跳到方塊中心加6分,…,以此類推。

3. 如果未能成功跳到方塊上,加0分,且游戲結(jié)束

現(xiàn)在給出玩家一局游戲的每次跳躍情況,請計算玩家最終得分。

輸入說明

輸入為若干個非零整數(shù)(整數(shù)個數(shù)小于1000),表示玩家每次的跳躍情況。整數(shù)之間用空格分隔,整數(shù)取值為0,1,2。0 表示未能成功跳到下一個方塊上,1 表示成功跳到下一個方塊上但未跳到方塊中心,2 表示成功跳到下一個方塊上,且剛好跳到方塊中心。輸入的數(shù)據(jù)只有最后一個整數(shù)是0,其均非零。

輸出說明
輸出一個整數(shù)表示該玩家的最終得分。

輸入樣例
1 1 2 1 2 2 2 0

輸出樣例
17

題目分析:

經(jīng)過讀題,我們可以總結(jié)出如下要點(diǎn):

1.“輸入若干個整數(shù)”中這個“若干”怎么刻畫——解決辦法是定義數(shù)組以后,用0作為循環(huán)終止的條件;

2.積分規(guī)則2中說連續(xù)跳到中心時,所加的分?jǐn)?shù)會等差遞增——這是本題的核心難點(diǎn),我們利用循環(huán)來解決。

分部碼字:

第一步 定義數(shù)組,讓用戶可以從鍵盤輸入

  

int step[1000],i;
int score=0;
for(i=0 ; i<1000 ; i++)
{
  scanf("%d",&step[i]);
  if(step[i]==0)    //當(dāng)用戶輸入0時,進(jìn)入該判斷分支,break跳出循環(huán),輸入完畢
  {  
    break;
  }
}

第二步 從數(shù)組的第一個數(shù)字開始,只要沒有取到0,說明跳一跳所走的這一步一定會給總分加分,首先外層寫好循環(huán)

for(i=0 ; step[i]!=0 ; i++)

{

}

第三步 第一個分支:若該數(shù)組變量為1,說明符合積分規(guī)則1,總分加1分

if(step[i]==1)
{
  score += 1;
}

第四步 第二個分支:若該數(shù)組變量為2,說明符合積分規(guī)則2

這里很特殊。規(guī)則規(guī)定:連續(xù)第一次跳在中心(用戶輸入2)得2分,第二次得4分,以此類推。轉(zhuǎn)變說法,即:當(dāng)前step之前用戶輸入了‘多少’個連續(xù)的‘2’,就加(‘多少’+1)*2的分?jǐn)?shù)?,F(xiàn)在,我們要將這個‘多少‘計數(shù)出來,即引入count,利用循環(huán),得到該step前有多少個2。

if(step[i]==2)
{
  int count=0,j;
  for(j=i;step[j]==2;j--)    //從該step向之前計數(shù),遇到1時停止計數(shù)
  {
    count++;
  }
  score += 2 * count;

}

第五步 打印分?jǐn)?shù)即可

第六步 整合代碼

 1 #include
 2 int main()
 3 {
 4     int step[1000],i;
 5     int score=0;
 6     for(i=0 ; i<1000 ; i++)
 7     {
 8         scanf("%d",&step[i]);
 9         if(step[i]==0)
10         {
11             break;
12         }
13     }
14     for(i=0 ; step[i]!=0 ; i++)
15     {
16         if(step[i]==1)
17         {
18             score += 1;
19         }
20         if(step[i]==2)
21         {
22             int count=0,j;
23             for(j=i;step[j]==2;j--)
24             {
25                 count++;
26             }
27             score += 2 * count;
28         }
29     }
30     printf("%d",score);
31     return 0;
32 }

本文名稱:跳一跳
轉(zhuǎn)載源于:http://weahome.cn/article/dsopcii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部