从键盘输入一个正整数n,求出n的阶乘,并输出在屏幕上。C++
时间: 2024-10-09 19:14:40 浏览: 58
在C++中,你可以使用循环结构如for或while来计算一个正整数n的阶乘。下面是一个简单的示例程序:
```cpp
#include <iostream>
using namespace std;
// 计算阶乘的函数
long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int n;
cout << "请输入一个正整数: ";
cin >> n;
// 检查输入是否有效
if (cin.fail()) {
cerr << "错误: 输入不是正整数." << endl;
return 1;
}
long long result = factorial(n);
cout << "该数的阶乘是: " << result << endl;
return 0;
}
```
在这个程序中,`factorial`函数递归地计算阶乘,如果输入的n小于等于1,则返回1作为基本情况。`main`函数中首先读取用户的输入,然后检查输入是否合法,最后调用`factorial`函数并显示结果。
相关问题
编程实现:从键盘随机输入一个正整数n,统计前n个数的阶乘的和。如n=3,求1!+2!+3!
好的,我可以帮你解决这个问题。以下是C++语言的代码实现:
#include<iostream>
using namespace std;
int main()
{
int n, sum = 0, fac = 1;
cout<<"请输入一个正整数n:";
cin>>n;
for(int i = 1; i <= n; i++)
{
fac *= i;
sum += fac;
}
cout<<"前"<<n<<"个数的阶乘的和为:"<<sum<<endl;
return 0;
}
在运行程序时,你可以输入任何一个正整数n并回车,程序将会统计前n个数的阶乘的和并输出结果。
已知求阶乘的函数如下,利用这个函数,编程计算并输出1!+2!+...+n!的值。 其中n由用户从键盘输入。 unsigned long Fact(unsigned int n) { int i; unsigned long result = 1; for (i=2; i<=n; i++) result *= i; return result; } 输入格式: 用户从键盘输入正整数n的值。 输出格式: 按输出样例的形式输出计算的结果。c++
以下是实现该功能的C++代码:
```c++
#include <iostream>
using namespace std;
unsigned long Fact(unsigned int n) {
int i;
unsigned long result = 1;
for (i=2; i<=n; i++)
result *= i;
return result;
}
int main() {
unsigned int n;
unsigned long sum = 0;
cout << "请输入正整数n:" << endl;
cin >> n;
for (int i=1; i<=n; i++) {
sum += Fact(i);
}
cout << "1!+2!+...+n!的值为:" << sum << endl;
return 0;
}
```
输入格式为用户从键盘输入正整数n的值,输出格式为按输出样例的形式输出计算的结果。
阅读全文
相关推荐
















