【发布时间】:2016-02-01 07:02:33
【问题描述】:
#include <stdio.h>
#include <math.h>
long factcalc(int num1);
int main(void)
{
int num1;
long factorial;
int d;
int out;
printf("Please enter a number that is greater than 0");
scanf_s("%d", &num1);
if (num1 < 0) {
printf("Error, number has to be greater than 0");
} else if (num1 == 0) {
printf("\nThe answer is 1");
} else {
factorial = factcalc(num1);
printf("\nThe factorial of your number is\t %ld", factorial);
}
return 0;
}
long factcalc(int num1)
{
int factorial = 1;
int c;
for (c = 1; c <= num1; c++)
factorial = factorial * c;
return factorial;
}
我想知道,如何让程序不断询问用户输入,直到用户输入“-1”?因此,即使在计算了一个数字的阶乘之后,它也会不断要求更多数字,直到用户输入 -1,当它显示错误消息等时也是如此。提前致谢。
【问题讨论】:
-
为什么不使用循环?我认为不需要
goto。