C++函数的简单应用

发布于 2018-05-10  9 次阅读


C++,5月10号布置的课堂作业

有问题请在文章下方评论提出。

#include <iostream>
using namespace std;

//函数声明:
void star(int n);
int factorial(int n);
int leijia(int b);
//函数声明必须写在使用的函数前面

void function()//此函数代替主函数,本程序中主函数实际上是一个选择菜单。
{
	int n, result, b, i;
	cout << "正在运行第一个程序:1.void star(int n);作为函数原型,函数的作用是输出n个星号。" << endl;
	cout << "请输入n:";
	cin >> n;
	star(n);//貌似不能用"void star(int n)"这种写法
	cout << endl << endl << endl;//空几行
	//懒得做菜单了,所以这两个函数会依次运行。
	cout << "正在运行第二个程序:2.编写一个函数,使其能够求出n!,再求出1!+2!+3!+4!+5!" << endl;
	cout << "请重新输入n:";
	cin >> n;
	result = factorial(n);//使用n的阶乘函数
	cout << n << "! = " << result << endl;
	cout << endl << endl << endl;//空几行
	//懒得做菜单了,所以这两个函数会依次运行。
	cout << "正在运行第三个程序:求出1!+2!+3!+4!+5!" << endl;
	cout << "请输入想要运行累加阶乘的最大数(题目要求为5):";
	cin >> b;//此处可以自定义阶乘最大数,即:1!  +2!+3!+4!+  ......  +n!  =  ?
	result = leijia(b);//使用累加函数
	for (i = 1; i <= b; i++)//里面基本没用,是为了显示“1!  +2!+3!+4!+5!=   result”
	{
		cout << i << "! ";
		if (i < b)
		{
			cout << "+ ";
		}
		else
		{
			cout << "= " << result;
		}
	}
	cout << endl;
}

//分函数必须卸载主函数前面。
//1.void star(int n);作为函数原型,函数的作用是输出n个星号。
void star(int n)
{
	int i = 0;
	for (i = 0; i < n; i++)
	{
		cout << "* ";
	}
	cout << endl;
	//return;//负责函数的结束,返回到调用该函数的地方,继续执行后续语句
}

//2.编写一个函数,使其能够求出n!,再求出1!+ 2! + 3! + 4! + 5!
int factorial(int n)
{
	int mul, i;
	mul = 1;
	for (i = n; i > 0; i--)
	{
		mul = mul * i;
	}
	return mul;
}

//3.利用上述函数计算1! + 2! + 3! + 4! + 5!
int leijia(int b)
{
	int i, sum = 0;
	for (i = 1; i <= b; i++)
	{
		sum = sum + factorial(i);
	}
	return sum;
}

 


无聊的并不是这段时光,而是与别人相似的自己。