查看完整版本: C++找出正確動物數目
頁: [1]

pass999540 發表於 2011-7-9 08:02 AM

C++找出正確動物數目

雞兔同籠:有一個籠子裡裝了若干的雞和兔,數一數他們的頭,一共有 15顆頭,數一數他們的腳,一共有 42隻腳,請問雞和兔各有多少隻呢?
透過簡單的代數計算可以得知雞有9隻,兔子有6隻,他們的腳一共是:
9*2+6*4=18+24=42
請撰寫一個程式,可以從資料檔 e.txt中讀入四個數字,分別表示第一種動物的腳數、第二種動物的腳數、頭的總數與腳的總數,
然後輸出第一種動物的數目以及第二種動物的數目,若是解答不存在的話則輸出No Solution。
範例輸入一:(第一種動物2隻腳,第二種動物4隻腳,頭一共15個,腳一共42隻)
2 4 15 42
範例輸出一:
2 4 15 42
Ans=9 6
範例輸入二:(第一種動物2隻腳,第二種動物4隻腳,頭一共10個,腳一共42隻)
2 4 10 42
範例輸出二:
2 4 10 42
Ans=No Solution

#include<iostream>
#include<fstream>
using namespace std ;

void main(){
        ifstream data("e.txt") ;
        int leg ;       
        int heads,legs ;
        data >> leg >> leg >> heads >> legs ;
        cout << leg << " " << leg << " " << heads << " " << legs << endl ;

        int one,two ;
        int num ;
        bool isRight=false ;

        for(one=0;one<=heads;one++,two=heads-one){
                num=one*leg+two*leg ;       
                if(num==legs){               
                        isRight=true ;       
                        break ;                       
                }
        }
        cout << "Ans=" ;
        if(isRight)                       
                cout << one << " " << two << endl ;
        else                       
                cout << "No Solution" << endl ;
}


這是我打的程式碼
請問有沒有大大可以幫我看要怎修改成輸入3種動物的算法(2 4 4 18 54)
還有這是之前學長給我的打法
#include <iostream>
#include <fstream>
using namespace std;

void main()
{
        int leg;     
        int heads,legs;
        int one,two;   
        ifstream data("e.txt");
        data >> leg >> leg >> heads >> legs;
        cout << leg << " " << leg << " " << heads << " " << legs << endl;

        for(one=0,two=heads;(one*leg+two*leg!=legs) && (two>0);one++,two--);

        cout << "Ans=";

        if(two>0)
                cout << one << " " << two << endl;
        else      
                cout << "No Solution" << endl;
}


請問在for迴圈後面加上一個分號';'是什麼意思呢?...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

燚羽 發表於 2011-7-9 10:34 AM

因為for下面沒有{},所以用";"來代表for結尾:)
頁: [1]