do-while实现计算四门功课总成绩
时间: 2024-05-13 07:20:54 浏览: 9
以下是使用do-while循环实现计算四门功课总成绩的示例代码:
```
#include <stdio.h>
int main() {
int score, total = 0, count = 0;
do {
printf("请输入第%d门功课的成绩(输入-1结束):", count + 1);
scanf("%d", &score);
if (score != -1) {
total += score;
count++;
}
} while (score != -1 && count < 4);
printf("四门功课的总成绩为:%d\n", total);
return 0;
}
```
运行结果:
```
请输入第1门功课的成绩(输入-1结束):80
请输入第2门功课的成绩(输入-1结束):75
请输入第3门功课的成绩(输入-1结束):90
请输入第4门功课的成绩(输入-1结束):85
四门功课的总成绩为:330
```
该示例中,使用do-while循环进行输入每门功课的成绩,当输入-1或输入了四门功课的成绩后,循环结束。在循环体内,如果输入的成绩不是-1,则将其累加到总成绩中,并将计数器加1。最终输出四门功课的总成绩。
相关问题
用do-while循环计算n的阶乘
以下是用do-while循环计算n的阶乘的示例代码(Java语言):
```
import java.util.Scanner;
public class Factorial {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a non-negative integer: ");
int n = scanner.nextInt();
int i = 1;
long result = 1;
do {
result *= i;
i++;
} while (i <= n);
System.out.println(n + "! = " + result);
}
}
```
用法说明:
1. 代码首先要求用户输入一个非负整数n,即要求计算n的阶乘。
2. 初始化一个计数器变量i为1,以及一个结果变量result为1。
3. 使用do-while循环来迭代计算阶乘的值。每次循环中,乘以当前计数器变量i的值,并将计数器变量i加1。
4. 循环迭代直至计数器变量i的值大于n。
5. 输出计算结果。
注意事项:
1. 当输入的n值比较大时(如n=20、30、50等),计算n的阶乘会溢出long类型的范围,导致结果不准确。此时应该考虑使用高精度计算或其他算法。
2. 循环体中应该使用long类型的变量来保存结果,以避免因结果过大而产生的溢出问题。
c语言用do-while计算阶乘
以下是使用C语言中的do-while循环计算阶乘的代码示例:
```c
#include <stdio.h>
int main() {
int n, i = 1, result = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
do {
result *= i;
i++;
} while (i <= n);
printf("%d的阶乘为:%d\n", n, result);
return 0;
}
```
这段代码首先要求用户输入一个正整数n,然后使用do-while循环计算n的阶乘,最后输出结果。在循环中,我们使用了一个计数器i和一个变量result,分别用于记录当前的乘积和当前的乘数。每次循环中,我们将当前的乘积乘以当前的乘数,然后将乘数加1,直到乘数等于n为止。