您的位置:首页 > 编程语言 > C语言/C++

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: