用c语言写的一个简单的求平均成绩,最大成绩,和最小成绩,我所想到的问题,
本帖最后由 凡凡殇清 于 2017-4-27 14:14 编辑这个简单的程序大家估计都能写出来,如果你运行这个程序是会发现,当你输入负数是它也能运行出结果,还有成绩都有个上限而这个程序没有限制(只要在int承受范围内)它都能运算,这样不符合常规,还有就是怎么能让一个程序循环输入,就像计算器一样,一直能重复利用,没有按那个叉号,他就一直能运行。
路过的大哥们帮我看看怎么解决。下面是我想的进入死循环了。。。。。{:5_91:}
#include <stdio.h>
float Max, Min;
int main ()
{
float average( float array[], int n );
float aver, score;
int i;
for ( i=0; i < 10; i++)
{
scanf("%d", &score);
}
/****************************************
while (1)
{
for ( i=0; i < 10; i++ )
{
scanf("%f", &score);
if ( score < 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 );
return0;
}
float average( float array[], int n )
{
int i;
float aver, sum = array;
Max = Min = array;
for( i=1; i < n; i++ )
{
if( array > Max )
{
Max = array;
}
else if ( array < Min )
{
Min = array;
}
sum += array;
}
aver = sum / n;
return ( aver );
} 计算器是用压栈和弹栈的方式做出来的,你随便搜个例子就知道了 我想了想,可以用goto语句实现
加上头文件conio.h
在return 0 ;前面加上去下
ch =getch();
if ( ch ==`z`)
{
goto a ;|
}
在for语句前加上a:
页:
[1]