古代 经典问题之鸡兔同笼
2014-03-14 11:13
253 查看
这是一个鸡兔同笼的问题,只需输入鸡的数目和头的数目即可求出鸡和兔分别为多少,并却在输入不合理时会自动报错。
/********************** **鸡兔同笼问题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; } else cout<<"输入错误"<<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”退出外,输入任意键都可以继续。
相关文章推荐
- 关于指针的一些事情
- 样式表CSS布局经验
- 路由器之基本维护经验
- C/C++数据对齐详细解析
- C++中引用的使用总结
- C与C++之间相互调用实例方法讲解
- C++中引用(&)的用法与应用实例分析
- 解析C++ 浮点数的格式化输出
- 深入分析C++中几个最不常用的关键字
- c++中inline的用法分析
- C++ Primer 第一部分基本语言
- 深入解析C++ Data Member内存布局
- 从汇编看c++中默认构造函数的使用分析
- 关于C++中的友元函数的一些总结
- C++的sstream标准库详细介绍
- 基于C++自动化编译工具的使用详解
- 浅谈C++中的string 类型占几个字节
- C/C++ 宏详细解析
- 深入分析C++中两个大数相乘结果不正确的问题
- 探讨C++中数组名与指针的用法比较分析