C语言编写程序从键盘任意输入n个实数,用do-while循环语句求最大值、最小值?

如题所述

你好!以下是一个C语言程序,使用do-while循环语句从键盘任意输入n个实数,并计算出其中的最大值和最小值:

#include <stdio.h>

int main() {

int n, i = 0;

float num, max, min;

printf("请输入要输入的实数个数n: ");

scanf("%d", &n);

do {

printf("请输入实数: ");

scanf("%f", &num);

if (i == 0) {

max = min = num; // 第一次输入时,将最大值和最小值都设置为该值

} else {

if (num > max) {

max = num; // 如果输入的数比当前最大值还大,更新最大值

}

if (num < min) {

min = num; // 如果输入的数比当前最小值还小,更新最小值

}

}

i++;

} while (i < n);

printf("最大值: %.2f\n", max);

printf("最小值: %.2f\n", min);

return 0;

}

在程序中,首先要求用户输入要输入的实数个数n,然后使用do-while循环语句,重复执行以下操作:

    从键盘输入一个实数num。

    如果这是第一个输入的实数,将最大值max和最小值min都设置为该值。

    如果这不是第一个输入的实数,则比较输入的数num与当前最大值max和最小值min的大小关系,并根据需要更新最大值和最小值。

    循环计数器i加1。

    如果循环计数器i小于输入的实数个数n,则回到第1步继续输入下一个实数,否则跳出循环。

    最后,输出计算得到的最大值和最小值。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-04-10
c#include <stdio.h>int main() { int n; float num, max, min; printf("请输入数的个数n:"); scanf("%d", &n); // 先读入第一个数,将其同时赋值给max和min
printf("请输入第1个数:"); scanf("%f", &num);
max = num;
min = num; // 循环读入其余的n-1个数,并更新max和min的值
int i = 2; // i表示当前读入数的序号,从第二个数开始
do { printf("请输入第%d个数:", i); scanf("%f", &num); if (num > max) {
max = num;
} else if (num < min) {
min = num;
}
i++;
} while (i <= n); printf("最大值为%.2f,最小值为%.2f\n", max, min); return 0;
}
第2个回答  2023-04-10
#include <stdio.h>
int main()
{
int n,i=1;
float x,max,min;
printf("请输入实数个数n:");
scanf("%d",&n);
printf("请输入第1个实数:");
scanf("%f",&x);
max=x;
min=x;
do
{
i++;
printf("请输入第%d个实数:",i);
scanf("%f",&x);
if(x>max)
max=x;
if(x<min)
min=x;
}while(i<n);
printf("最大值为:%f\n",max);
printf("最小值为:%f\n",min);
return 0;
}
相似回答