不知道怎么改,文字部分我分别输入的5/5/5!=

然后输出只有5!而不是整数120。是不是除了文字部分,其他的地方也要改啊,本人真的不太懂。

img

img

你运行程序的窗口里面,光标处是等待输入的,输入一个整数,然后就会输出对应的阶乘结果;

然后根据题目意思,需要把阶乘用函数实现,所以把计算阶乘那部分放到这个函数里,然后再整理下打印格式应该就可以了。

修改如下:

参考链接:



#include <stdio.h>


// 计算整数n的阶乘 
int factorial(int n){
    
    int fac=1; 
    if(n<0){
        printf("输入错误!(%d)\n",n);
        return -1 ;
    }
    
    while(n>0){
        fac*=n;
        --n;
    }
    
    return fac;
}

int main(void){
    
    int n,fac =1;
    //printf("5!\n");
    scanf("%d",&n);
    
    fac= factorial(n);// 获取计算阶乘函数的结果 
    
     if(fac!=-1){  // 如果返回值不为-1,则打印对应的阶乘 
         printf("%d!=%d\n",n,fac);
     }
     
    return 0;    
} 

img

原题打印出来的肯定不是5,而是120!
你到底改成什么样了,到是放出来看看呀
还有5/5/5是个啥