gpt4 book ai didi

c - 下面的阶乘查找 C 程序有什么错误?

转载 作者:行者123 更新时间:2023-11-30 20:03:53 25 4
gpt4 key购买 nike

我的逻辑是输入num存储到temp变量中,并使用temp = temp * (num - i)内查找阶乘while 直到 num 大于 0 且最初为 i = 1 ,但我遇到问题,我的循环进入无限循环如何解决这个问题?

#include <stdio.h>

int main() {
int num, temp, i;

printf("Enter a Num who's factorial is need to be find : ");
scanf("%d", &num);
printf("num = %d\n", num);
temp = num;
printf("temp = %d\n", temp);
i = 1;
while (num > 0) {
temp = temp * (num - i);
i++;
printf(" i = %d\n ", i);
}
printf("fact = %d \n ", temp);
return 0;
}

最佳答案

您正在检查num > 0但从未更新 num inside 的值循环

更新它以检查num - i > 0num > i

while(num - i > 0)
{
temp = temp * (num-i);
i++;
printf(" i = %d\n ",i);
}

关于c - 下面的阶乘查找 C 程序有什么错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46261724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com