頁:
[1]
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> 因為for下面沒有{},所以用";"來代表for結尾:)
頁:
[1]