马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 凡凡殇清 于 2017-4-27 14:14 编辑
这个简单的程序大家估计都能写出来,如果你运行这个程序是会发现,当你输入负数是它也能运行出结果,还有成绩都有个上限而这个程序没有限制(只要在int承受范围内)它都能运算,这样不符合常规,还有就是怎么能让一个程序循环输入,就像计算器一样,一直能重复利用,没有按那个叉号,他就一直能运行。
路过的大哥们帮我看看怎么解决。下面是我想的进入死循环了。。。。。
#include <stdio.h>
float Max, Min;
int main ()
{
float average( float array[], int n );
float aver, score[10];
int i;
for ( i=0; i < 10; i++)
{
scanf("%d", &score[i]);
}
/****************************************
while (1)
{
for ( i=0; i < 10; i++ )
{
scanf("%f", &score[i]);
if ( score[i] < 0 )
{
printf("Error: Results there is no negative!!!\n");
printf("Please input again.\n");
}
break;
}
// break;
}
***********************************************/
aver = average( score, 10 );
printf("Max=%.2f\t Min=%.2f\t averagr=%.2f\n", Max, Min, aver );
return 0;
}
float average( float array[], int n )
{
int i;
float aver, sum = array[0];
Max = Min = array[0];
for( i=1; i < n; i++ )
{
if( array[i] > Max )
{
Max = array[i];
}
else if ( array[i] < Min )
{
Min = array[i];
}
sum += array[i];
}
aver = sum / n;
return ( aver );
}
|