C语言实现分数序列求和及成绩统计:while循环与do-while循环对比
C语言实现分数序列求和及成绩统计:while循环与do-while循环对比
本文将通过C语言代码示例,分别用while循环和do-while循环两种方式实现两个功能:
- 计算分数序列'2/1,3/2,5/3,8/5,13/8,21/13……'的前20项之和。
- 输入若干个学生的成绩(0~100),统计并输出最高分和最低分。
1. 分数序列求和
1.1 while语句实现
int i = 1;
double sum = 0;
double a = 2, b = 1;
while (i <= 20) {
sum += a / b;
double temp = a;
a = a + b;
b = temp;
i++;
}
printf("前20项之和为:%f\n", sum);
1.2 do-while语句实现
int i = 1;
double sum = 0;
double a = 2, b = 1;
do {
sum += a / b;
double temp = a;
a = a + b;
b = temp;
i++;
} while (i <= 20);
printf("前20项之和为:%f\n", sum);
2. 成绩统计
int max = -1, min = 101, score;
while (1) {
printf("请输入学生的成绩(输入-1结束):");
scanf("%d", &score);
if (score == -1) {
break;
}
if (score >= 0 && score <= 100) {
if (score > max) {
max = score;
}
if (score < min) {
min = score;
}
}
}
printf("最高分为:%d\n", max);
printf("最低分为:%d\n", min);
代码说明:
- 分数序列求和:程序利用两个变量
a和b分别保存分数序列的分子和分母,每次循环计算当前项的值并累加到sum中,同时更新a和b的值,实现分数序列的迭代生成。 - 成绩统计:程序使用两个变量
max和min分别保存当前最高分和最低分,循环输入成绩,并更新max和min的值。当输入-1时,循环结束,输出结果。
总结:
本文通过两个代码示例,展示了while循环和do-while循环在C语言中的应用,以及它们在处理不同问题时的区别。while循环先判断条件,再执行循环体,而do-while循环先执行循环体,再判断条件。读者可以通过理解代码逻辑,进一步掌握循环语句的使用技巧。
原文地址: https://www.cveoy.top/t/topic/mYDJ 著作权归作者所有。请勿转载和采集!