古代 经典问题之鸡兔同笼

时间:2022-07-20 11:23:26
这是一个鸡兔同笼的问题,只需输入鸡的数目和头的数目即可求出鸡和兔分别为多少,并却在输入不合理时会自动报错。
 
/************************鸡兔同笼问题C++程序************************/#include<iostream>using namespace std;int main(){int a,b,tou,jiao;cout<<"请输入头的数目"<<endl;cin>>tou;cout<<"请输入脚的数目"<<endl;cin>>jiao;if(jiao>=2*tou&&jiao%2==0){b=jiao/2-tou;a=tou-b;cout<<"鸡的数目为:"<<a<<"兔的数目为:"<<b<<endl;}elsecout<<"输入错误"<<endl;return 0;}


这个程序不完美的地方在于只能计算一次,稍作改进可以无数次计算,按指定键退出。

改进后程序如下:

// jitutonglong.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{

int a,b,tou,jiao,key=1;
char exit;
while(key)
{
cout<<"请输入头的数目"<<endl;
cin>>tou;
cout<<"请输入脚的数目"<<endl;
cin>>jiao;
if(jiao>=2*tou&&jiao%2==0)
{
b=jiao/2-tou;
a=tou-b;
cout<<"鸡的数目为:"<<a
<<" 兔的数目为:"<<b
<<endl;
}
else
cout<<"输入错误"<<endl;

cout<<"是否继续:enter:Y or N"<<endl;
cin>>exit;
if(exit=='n')
key=0;
else
key=1;

}
return 0;
}



其实除了键入“N”退出外,输入任意键都可以继续。