C语言实现分数序列求和及成绩统计:while循环与do-while循环对比

本文将通过C语言代码示例,分别用while循环和do-while循环两种方式实现两个功能:

  1. 计算分数序列'2/1,3/2,5/3,8/5,13/8,21/13……'的前20项之和。
  2. 输入若干个学生的成绩(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循环先执行循环体,再判断条件。读者可以通过理解代码逻辑,进一步掌握循环语句的使用技巧。

C语言实现分数序列求和及成绩统计:while循环与do-while循环对比

原文地址: https://www.cveoy.top/t/topic/mYDJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录