编写一个C语言程序,使用递归函数计算并输出一个非负整数的阶乘。要求:实现一个递归函数来计算阶乘。在主函数中调用该递归函数,并打印结果。 处理用户输入,确保输入为非负整数
3条回答 默认 最新
关注#include <stdio.h> // 递归函数,用于计算阶乘 int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n - 1); } } int main() { int num; printf("请输入一个非负整数: "); while (1) { if (scanf("%d", &num) == 1 && num >= 0) { break; } else { // 处理输入错误的情况,清空输入缓冲区 while (getchar()!= '\n') { continue; } printf("输入有误,请重新输入一个非负整数: "); } } int result = factorial(num); printf("%d 的阶乘是: %d\n", num, result); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报