求最大值最小值
#include <stdio.h>
int main()
{
float maxscore,minscore;
float s[10];
int i=1;
printf("请输入十位同学的数学成绩:");
scanf("%.1f",&s[10]);
maxscore=minscore=s[0];
while(i<10)
{
if(s[i]>maxscore)
{maxscore=s[i];}
if(s[i]<minscore)
{minscore=s[i];}
i++;
}
printf("在这十位同学中,成绩最高的是:%.lf分,成绩最低的是%.lf分",maxscore,minscore);
}
运行结果最大值最小值都为-1,求解huo
数组没有初始化,你这个
scanf("%.1f",&s[10]);
赋值也有问题,压根数组里面就没有值。
#include <stdio.h>
int main()
{
float maxscore,minscore;
float s[10];
int i;
printf("请输入十位同学的数学成绩:\n");
for(i=0;i<10;i++)
{
printf("请输入第%d位同学的数学成绩:",i+1);
scanf("%f",&s[i]); //%.1f会导致scan()吸收后面的0,无效输入
}
maxscore=minscore=s[0];
while(i>0)//此时i的值是10
{
if(s[i]>maxscore)
{
maxscore=s[i];
}
else if(s[i]<minscore)
{
minscore=s[i];
}
i--;
}
printf("在这十位同学中,成绩最高的是:%.lf分,成绩最低的是%.lf分\n",maxscore,minscore);
return 0;
}
#include <stdio.h>
int main()
{
float maxscore,minscore;
float s[10];
int i;
printf("请输入十位同学的数学成绩:\n");
for(i=0;i<10;i++)
{
printf("请输入第%d位同学的数学成绩:",i+1);
scanf("%f",&s[i]); //%.1f会导致scan()吸收后面的0,无效输入
if (s[i]>100.00 || s[i]<0.00)
{
printf("输入成绩无效,请重新输入:");
scanf("%f",&s[i]);
}
printf("---第%d位同学的数学成绩是:%.2f\n",i+1,s[i]);
}
maxscore=minscore=s[0];
while(i>0)//此时i的值是10
{
if(s[i]>maxscore)
{
maxscore=s[i];
}
else if(s[i]<minscore)
{
minscore=s[i];
}
i--;
}
printf("在这十位同学中,成绩最高的是:%.2f分,成绩最低的是%.2f分\n",maxscore,minscore);
return 0;
}