彩笔凡 发表于 2023-11-18 14:25:15

程序分析

分析以下程序
(2)以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请将程序补充完整。
/*c4-3.c求最大值最小值程序*/
#include <stdio.h>
void main( )
{ float x,amax,amin;
    scanf("%f",&x);
    amax=x;
    amin=x;
    while ( _______________ )
    { if (x>amax) amax=x;
      if ( _______________ ) amin=x;
      scanf("%f",&x);
    }
    printf("\namax=%f\namin=%f\n",amax,amin);
}

isdkz 发表于 2023-11-18 14:25:26

#include <stdio.h>
void main( )
{
    float x,amax,amin;
    scanf("%f",&x);
    amax=x;
    amin=x;
    while (x >= 0)
    {
      if (x > amax)
            amax = x;
      if (x < amin)
            amin = x;
      scanf("%f",&x);
    }
    printf("\namax=%f\namin=%f\n",amax,amin);
}


这段程序的功能是从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩。程序首先通过 scanf 函数获取第一个成绩 x ,然后将 x 赋值给 amax 和 amin ,作为最大值和最小值的初始值。接着进入 while 循环,当输入负数时(即 x 小于0)结束输入。在循环中,通过 if 语句判断当前输入的成绩是否大于最大值 amax ,如果是则更新 amax 的值;同时判断当前输入的成绩是否小于最小值 amin ,如果是则更新 amin 的值。最后通过 printf 函数输出最大值和最小值。

Mike_python小 发表于 2023-11-18 14:25:51

下面是补充完整的程序代码:


/* c4-3.c 求最大值最小值程序 */
#include <stdio.h>
void main( )
{
    float x, amax, amin;
    printf("请输入学生成绩:");
    scanf("%f", &x);
    amax = x;
    amin = x;
    while (x >= 0) // 当输入不为负数时循环继续
    {
      if (x > amax)
            amax = x;
      if (x < amin)
            amin = x;
      printf("请输入学生成绩:");
      scanf("%f", &x);
    }
    printf("\n最高成绩=%f\n最低成绩=%f\n", amax, amin);
}


在这段程序中,我添加了一个提示语句 printf("请输入学生成绩:");,以便在每次需要输入学生成绩时提醒用户。希望这样能够帮助到你。如果有任何疑问,请随时提出。
页: [1]
查看完整版本: 程序分析