C++程序(百元买百鸡、分出奇偶数、鸡兔同笼问题、选择排序法、整数奇偶排序)
2016-06-27 17:37
393 查看
百元买百鸡:
分出奇偶数:
整数奇偶排序:
//百元买百鸡问题 //小鸡5角,公鸡2元,母鸡3元,100元买100只鸡,共有几种解决方案 #include<iostream> using namespace std; int main() { int x = 0;int y = 0;int z = 0;//x小鸡;y公鸡;z母鸡 for (x = 0;x < 100;x++) { for (y = 0;y < 50;y++) { for (z = 0;z < 33;z++)//z=100-x-y; { if ((x + y + z == 100) & (0.5*x + 2 * y + 3 * z == 100)) cout << "小鸡x=" << x << ";" << "公鸡y=" << y << ";" << "母鸡z=" << z << endl; } } } return 0; }
分出奇偶数:
//分出奇偶数 //键盘输入10个整数,分出奇偶数,存入不同数组并输出 #include<iostream> using namespace std; int main() { int a[10]; int old[10];int even[10]; int numold = 0;int numeven = 0; for (int i = 0;i < 10;i++) { cin >> a[i]; } for (int i = 0;i < 10;i++) { if (a[i] % 2 == 0) { old[numold] = a[i]; numold++; } else { even[numeven] = a[i]; numeven++; } } for (int i = 0;i < numold;i++) { cout << old[i]<<" "; } cout << endl; for (int i = 0;i < numeven;i++) { cout << even[i]<<" "; } return 0; }鸡兔同笼问题:
//鸡兔同笼问题 //共有a只脚,问笼子里至多多少动物?至少? #include<iostream> using namespace std; int main() { int a = 0;int cFeet = 0;int rFeet = 0; int i;int n; cout << "请输入组数n="; cin >> n; for (i = 0;i < n;i++) { cout << "请输入脚数a="; cin >> a; if (a % 2 != 0) { cout << "输入有误" << endl; } else if (a % 4 != 0) { cFeet = a / 2; rFeet = a / 4 + 1; cout << "至多" << cFeet << endl; cout << "至少" << rFeet << endl; } else { cFeet = a / 2; rFeet = a / 4; cout << "至多" << cFeet << endl; cout << "至少" << rFeet << endl; } } return 0; }选择排序法:
//选择排序法 #include<iostream> using namespace std; int main() { int a[10]; for (int i = 0;i < 10;i++) { cin >> a[i]; } for (int i = 0;i < 9;i++) { for(int j=i+1;j<10;j++) if (a[i] > a[j]) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } } for (int i = 0;i < 10;i++) { cout << a[i]<<" "; } return 0; }
整数奇偶排序:
//整数奇偶排序 //输入0-100的10个整数,彼此已空格分开,重新排序后输出:1,先输出奇数,从大到小排列;2,在输出偶数,从小到大排列 #include<iostream> using namespace std; int main() { int a[10];int old[10];int even[10]; int numold=0;int numeven = 0; for (int i = 0;i < 10;i++) { cin >> a[i]; } //奇偶判断 for (int i = 0;i < 10;i++) { if (a[i] % 2 == 0) { old[numold] = a[i]; numold++; } else { even[numeven] = a[i]; numeven++; } } //奇数排序大到小 for (int i = 0;i < numold-1;i++) { for (int j = i ;j < numold;j++) { if (old[i] < old[j]) { int temp = old[i]; old[i] = old[j]; old[j] = temp; } } } //偶数排序小到大 for (int i = 0;i < numold - 1;i++) { for (int j = i ;j < numold;j++) { if (even[i] > even[j]) { int temp = even[i]; even[i] = even[j]; even[j] = temp; } } } //输出 cout << "基数排序:"; for (int i = 0;i < numold;i++) { cout << old[i] << " "; } cout << endl << "偶数排序:"; for (int i = 0;i < numeven;i++) { cout << even[i] << " "; } cout << endl; return 0; }
相关文章推荐
- 可变参数宏__VA_ARGS__
- c++获取系统时间,精确到ms级
- SDUTACM素数判定
- C语言运算符优先级
- C++ COM 开发 Hello World V2
- C/C++函数指针变量调用函数
- 学习C++是一些真实经验!
- c++获取读写文本权限
- C++编程:ASCII,UTF-8,Unicode字符串相互转换
- c++之类与对象
- C语言中文网学习进度
- 第47讲 小学百以内算术练习题库
- SDUTACM图形打印
- 第十六周上机实践——项目6-处理C++源代码的程序
- C++ 运算符重载三(链式编程)
- C++ 设计与声明原则
- C++中输入输出流及文件流操作笔记
- C++ 信号处理
- leetcode 204 Count Primes C++
- 线性队列的改变