author:爱太阳的麦芽糖
IDE:VS2019
qq:1192273194
TIME:16/6/2019
PS:如果您有什么问题可以在下方留言哦
步骤:(代码分三个部分阅读,后方有完整的代码)
(1):第一个for循环接受十个float类型的数(输入的数字不要超过七位数,我用的是float类型)
#include <stdio.h>
#include <math.h>
main()
{
printf("请输入十个数\n");
int i;
float a[10], max = -3.4 * pow(10,38), min = 3.4 * pow(10,38);
for (i = 0;i < 10;i++)
{
printf("第%d个数:", i + 1);
scanf_s("%f", &a[i]);
}
}
(2):第二个for循环中嵌套if判断句来比较大小
for (i = 0;i < 10;i++)
{
if (a[i] > max)
{
max = a[i];
}
if (min > a[i])
{
min = a[i];
}
}
第一个if条件句:每次for循环,电脑都会取数组中的一个数和max比较大小,谁较大max就取代谁
第二个if条件句:和第一if条件句原理相同,谁较小min就取代谁
(3):输出最大值和最小值
printf("您输入的十个数中,最大的一个为:%f\n", max);
printf("您输入的十个数中,最小的一个为:%f\n", min);
ps:C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38,这就是为什么max和min的初始值这样设置。
但C中能没有表示次方的运算符,只能调用math库里面的pow()函数,pow(a,b) --> a的b次方
PS:VS2019中用scanf_s代替了scanf,如果你使用的是C++6.0等类似的编辑器,请将下方的scanf_s改为scanf,否则会出现错误。到时候出错了别怪我呀,这一行我可是倾斜加粗用红字了,嘻嘻。
完整的代码如下:
#include <stdio.h>
#include <math.h>
main()
{
printf("请输入十个数\n");
int i;
float a[10], max = -3.4 * pow(10,38), min = 3.4 * pow(10,38);
for (i = 0;i < 10;i++)
{
printf("第%d个数:", i + 1);
scanf_s("%f", &a[i]);
}
for (i = 0;i < 10;i++)
{
if (a[i] > max)
{
max = a[i];
}
if (min > a[i])
{
min = a[i];
}
}
printf("您输入的十个数中,最大的一个为:%f\n", max);
printf("您输入的十个数中,最小的一个为:%f\n", min);
}
代码运行如下 :已经经过我的验证了哦(我可是验证了好几遍)