使用c语言使用while语句计算阶乘 要求: 1.编写程序,从键盘读入学号后两位数字num; 2.使用while循环计算并打印一个给定正整数的阶乘。
时间: 2024-12-19 21:28:38 浏览: 44
当你需要使用C语言的while循环来计算阶乘时,你可以按照以下步骤编写程序:
#include <stdio.h>
int main() {
int num, factorial = 1;
// 从键盘读取输入的学号后两位数字
printf("请输入一个正整数的后两位:");
scanf("%d", &num);
// 验证输入是否为正整数
while (num <= 0) {
printf("输入错误,请输入一个正整数:");
scanf("%d", &num);
}
// 使用while循环计算阶乘
while (factorial < num) {
factorial *= num--;
}
// 打印结果
printf("该数的阶乘是:%d\n", factorial);
return 0;
}
在这个程序中,我们首先获取用户输入的数值,然后通过一个while循环计算阶乘,直到factorial
不再小于num
。如果用户输入的是非正整数,我们会提示他们再次输入。
相关问题
用 do while语句计算C语言计算1到10的阶乘和
#include <stdio.h>
int main()
{
int i = 1, num = 1, sum = 0;
do {
num *= i;
sum += num;
i++;
} while (i <= 10);
printf("1! + 2! + ... + 10! = %d\n", sum);
return 0;
}
C语言 while和do while语句1~20阶乘和
在C语言中,你可以使用while和do-while循环来计算从1到20的阶乘。这里是一个简单的例子,展示如何使用while循环:
#include <stdio.h>
unsigned long long factorial(int n) {
unsigned long long fact = 1;
int i;
if (n == 0 || n == 1) { // 阶乘的基本情况:0和1的阶乘都是1
return 1;
}
// 使用while循环计算阶乘
while (n > 1) {
fact *= n--;
}
return fact;
}
int main() {
int num = 20;
printf("The factorial of %d is %llu\n", num, factorial(num));
return 0;
}
现在我们来看do-while循环的版本:
#include <stdio.h>
unsigned long long factorial(int n) {
unsigned long long fact = 1;
int i = 1;
do {
fact *= i++;
} while (i <= n);
return fact;
}
int main() {
int num = 20;
printf("The factorial of %d is %llu\n", num, factorial(num));
return 0;
}
这两个循环都会先检查条件,然后执行循环体,直到满足退出条件(n <= 1
)。do-while循环会先执行一次,而while循环可能会跳过第一次迭代。
相关推荐
















