c语言计算n的阶乘函数
时间: 2023-12-28 18:24:00 浏览: 174
以下是两种C语言计算n的阶乘函数的例子:
1.创建函数来实现,函数里的计算方法实际还是循环
```c
#include<stdio.h>
int jie(int n) //创建一个jie函数用来求n!
{
int i, b=1;
for (i = 1; i <= n; i++)
{
b *= i;
}
return b;
}
int main()
{
int n = 0;
scanf("%d", &n);
int a = jie(n);
printf("%d\n", a);
}
```
2.用循环直接算
```c
#include <stdio.h>
int main()
{
int n,i,a=1;
scanf("%d",&n);
for (i = 1; i <=n; i++)
{
a= a*i;
}
printf("%d\n", a);
}
```
相关问题
c语言计算阶乘的函数
以下是两种C语言计算阶乘的函数的例子:
1.使用for循环计算阶乘
```c
#include <stdio.h>
void factorial() {
int number;
int factorial = 1;
scanf("%d", &number);
for(int i=1; i<=number; i++) {
factorial = i*factorial;//确保即便当number=0的时候,结果也为1
}
printf("%d ", factorial);
}
int main() {
factorial();//直接调用计算阶乘的函数
return 0;
}
```
2.使用递归函数计算阶乘
```c
#include <stdio.h>
long fact(int n) {
static long pro = 1;//pro即product---乘积
pro = pro * n;
return(pro);
}
int main() {
int n, m = 1, pro;
printf("Input n:");
scanf("%d", &n);
for (; m <= n; m++) {
pro = fact(m);
}
printf("%d!=%ld\n", n, pro);
return 0;
}
```
c语言求n的阶乘函数
在C语言中,你可以通过递归或循环的方式编写一个求解n的阶乘的函数。这里是一个简单的使用循环的版本:
```c
#include <stdio.h>
// 函数声明,用于计算阶乘
unsigned long long factorial(int n);
int main() {
int num;
printf("请输入一个正整数: ");
scanf("%d", &num);
// 检查输入是否合法
if (num < 0) {
printf("错误:阶乘只对非负整数有效.\n");
} else {
unsigned long long result = factorial(num);
printf(" %d 的阶乘是: %llu\n", num, result);
}
return 0;
}
// 阶乘函数实现
unsigned long long factorial(int n) {
unsigned long long fact = 1; // 初始化阶乘为1
for (int i = 1; i <= n; ++i) {
fact *= i; // 逐次将当前数乘到阶乘结果上
}
return fact;
}
```
在这个程序中,`factorial`函数接收一个整数n作为参数,并返回n的阶乘。注意,由于阶乘的结果会非常大,对于较大的n值,可能会超出标准类型的范围,所以这里使用了`unsigned long long`类型来存储结果。
阅读全文
相关推荐















