题目:
编写一程序,分别计算1!到9!的值,使用setw()控制“ = ”左边的数值宽度。
main.cpp
#include <iostream>
using namespace std;
#include <iomanip>//输出控制必备的头文件
#include "class.h"
int main()
{
cout.fill('-');//不够宽度的用-填充
factorial f1;
for (int i = 1; i <= 9; i++)
{
f1.change(i);//改变要阶乘的数
cout <<setw(8)<< f1.calc() << endl;//setw(8)即输出宽度为8
}
cout << '\n';
system("pause");
return 0;
}
class.h
#pragma once
class factorial
{
public:
void change(int n);
long long calc();
private:
int number;
};
inline long long factorial::calc()
{
long long result = 1;
for (int i = 2; i <= number; i++)
{
result *= i;
}
return result;
}
inline void factorial::change(int n)
{
number = n;
}