求大神帮忙看看。编写一统计班级(班级人数未知)的学习成绩(求出最高分、最低分、平均分)的程序。
//编写一统计班级学习成绩(求出最高分、最低分、平均分)的程序。班级人数事先不知道,//输入一小于0或者大于100的分数时表示输入结束。
//提示错误,请问问题出在哪里呢?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int max=0 , min=0 , temp=0 , sum=0 , num=0;//最高分,最低分,暂记分,总分,个数
printf("请输入班级学习成绩(空格隔开),当输入的分数小于0或者大于100时表示输入结束。\n");
while( scanf_s("%d",&temp) , temp >= 0 && temp <= 100 ) //循环计数,统计求和,记最高最低分
{
sum += temp ; //统计求和
num += 1 ; //计数
int i = 0 , j = 0 ;
//按输入次序,分奇偶次对i和j赋值;
if( num % 2 == 1 )
{
i = temp ;
}else
{
j = temp ;
}
//判断大小,对max和min赋值;
if( num > 1 )
{
if ( (i >= max) && (i >= j) ) //第二次及以上正确输入时,判断大小并对max赋值;
{
max = i ;
}else if( (j >= max) && (j >= i) )
{
max = j ;
}
if ( (i <= min) && (i <= j) ) //第二次及以上正确输入时,判断大小并对min赋值;
{
min = i ;
}else if( (j <= min) && (j <= i) )
{
min = j ;
}
}else //第一次正确输入时对min和max赋值;
{
max = i ;
min = i ;
}
}
if( num = 0 )
{
printf("输入错误。\n");
}else
{
printf("班级成绩最高分%d,最低分%d,平均分%d。\n", max , min , sum/num );
}
system ( "PAUSE" );
return 0 ;
}