鱼C论坛

 找回密码
 立即注册
查看: 2783|回复: 2

用c语言写的一个简单的求平均成绩,最大成绩,和最小成绩,我所想到的问题,

[复制链接]
发表于 2017-4-27 13:37:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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 );
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-27 14:03:27 | 显示全部楼层
计算器是用压栈和弹栈的方式做出来的,你随便搜个例子就知道了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-30 23:44:38 From FishC Mobile | 显示全部楼层
我想了想,可以用goto语句实现
加上头文件conio.h

在return 0 ;前面加上去下
ch =getch();
if ( ch ==`z`)
{
goto a ;|
}
在for语句前加上a:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-28 05:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表