欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个简单菜单设计

程序员文章站 2022-07-08 16:45:33
...
#include <iostream>
using namespace std;
int main()
{
	int n;
	int beishu(int, int);
	int  yueshu(int, int);
	int  jiecheng(int);
	void shuixianhua();
	for (;;)
	{
		cout << "主菜单:\n1、最大公约数\n2、最小公倍数\n3、阶乘\n4、水仙花数\n5、退出程序" << endl;
		cin >> n;
		if (n == 1)
		{
			cout << "最大公约数,请输入两个数:" << endl;
			int m, n, k;
			cin >> m >> n;
			k = yueshu(m, n);
			cout << k << endl;
		}
		if (n == 2)
		{
			cout << "最小公倍数,请输入两个数:" << endl;
			int m, n, k;
			cin >> m >> n;
			k = beishu(m, n);
			cout << k << endl;
		}
		if (n == 3)
		{
			cout << "阶乘,请输入一个数:" << endl;
			int n, k;
			cin >> n;
			k = jiecheng(n);
			cout << k << endl;

		}
		if (n == 4)
		{
			cout << "以下是水仙花数:" << endl;
			shuixianhua();
		}
		if (n == 5)
			break;
	}
	system("pause");
	return 0;
}
int  yueshu(int a, int b)
{
	int t;
	if (a < b)
	{
		t = a; a = b; b = t;
	}
	int r = a % b;
	while (r != 0)
	{
		a = b;
		b = r;
		r = a % b;
	}
	return b;
}
int beishu(int a, int b)
{
	int yueshu(int, int);
	int h = yueshu(a, b);
	return (a*b / h);
}
int jiecheng(int n)
{
	int i, m = 1;
	for (i = 1; i <= n; i++)
		m = m * i;
	return m;

}
void shuixianhua()
{
	int i, j, k, n;
	for (n = 100; n < 1000; n++)
	{
		i = n / 100;
		j = n / 10 - i * 10;
		k = n % 10;
		if (n == i * i*i + k * k*k + j * j*j)
			cout << n << " ";
	}
	cout << endl;
}