|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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 );
- }
复制代码 |
|