编写程序。分别用while语句、do-while语句和for语句编写一个求阶乘N!的Java程序。
时间: 2024-05-27 11:10:37 浏览: 105
好的,这是一个计算阶乘的问题,可以使用while、do-while和for循环进行编写,以下是示例Java代码:
// 使用 while 循环求阶乘
public static int factorialWithWhile(int n) {
int result = 1;
while (n > 0) {
result *= n;
n--;
}
return result;
}
// 使用 do-while 循环求阶乘
public static int factorialWithDoWhile(int n) {
int result = 1;
do {
result *= n;
n--;
} while (n > 0);
return result;
}
// 使用 for 循环求阶乘
public static int factorialWithFor(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
以上三个方法分别用了 while、do-while和for循环来求n的阶乘,可以根据需要进行选择。
相关问题
编写程序。分别用while语句、do-while语句和for语句编写一个求阶乘n!的java程序。
while语句:
```
import java.util.Scanner;
public class FactorialWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int n = input.nextInt();
int result = 1;
int i = 1;
while (i <= n) {
result *= i;
i++;
}
System.out.println(n + "! = " + result);
}
}
```
do-while语句:
```
import java.util.Scanner;
public class FactorialDoWhile {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int n = input.nextInt();
int result = 1;
int i = 1;
do {
result *= i;
i++;
} while (i <= n);
System.out.println(n + "! = " + result);
}
}
```
for语句:
```
import java.util.Scanner;
public class FactorialFor {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个正整数:");
int n = input.nextInt();
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
System.out.println(n + "! = " + result);
}
}
```
c语言 编写程序,使用do-while语句求阶乘f=1×2×3×..×n。
在 C 语言中,你可以使用 do-while 循环结构编写一个计算阶乘的程序,因为 do-while 循环会在执行循环体至少一次后再检查条件是否满足。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int n, fact = 1;
printf("请输入一个非负整数:");
scanf("%d", &n);
// 使用 do-while 循环计算阶乘
do {
fact *= n; // 将当前数值乘到 fac 上
n--; // 递减 n,直到 n == 0
} while (n >= 1); // 只有当 n 大于等于 0 时才会继续循环
printf("阶乘的结果是:%d\n", fact);
return 0;
}
```
在这个程序中,用户会被提示输入一个非负整数 n,然后 `do` 开始一个循环,在每次迭代中都会更新阶乘值 `fact` 直到 `n` 减到 1 或者更小。如果用户输入的是负数或零,这个程序将不会计算阶乘。
阅读全文