予彩 2022-05-30 11:27 采纳率: 100%
浏览 148
已结题

各位神,c语言问题,希望用简单的编写,说明步骤,附带运行截图和结果截图

要求:输入一个班25名学生的C语言成绩(整数),求它们的平均分,最高分,最低分,并输出。把成绩按从高到低输出。

  • 写回答

5条回答 默认 最新

  • 吕布辕门 新星创作者: 后端开发技术领域 2022-05-30 11:46
    关注

    有问题可以提哈,给你运行出来了

    img

    img

    #include <stdio.h>
    #include <stdlib.h>
    #define N 25
    /*提示用户的输入25个数,找到最大值,找到最小值,计算平均值*/
    
    int main()
    {
         int  i;
         int  max;
         int  min;
         int  total=0;
         float  average;
              
        //1.定义一个25个整型数的数组
          int  scores[25]={0};
          
        //2.初始化数组
           for(i=0;i<25;i++)
           { 
             //2.1提示用户输入第多少个数
             printf("请输入第%d个分数: ",i+1);//0+1=1
             
            //2.2获取用户的输入scanf
             scanf("%d",&scores[i]);
             if(scores[i]>100 || scores[i]<0)
             {
                    printf("没有这种分数\n");
                    printf("强制退出\n");
                    system("pause");
                    exit(-1);         
             }
           }
           
           for(i=0;i<25;i++)
           {
                printf("第%d个分数是:%d\n",i+1,scores[i]);       
           }
            
       //3.找分数,找最高分
          max=scores[0];//让max等于数组的第0项,
             
          for(i=0;i<25;i++)
           {
                   if(max<scores[i])
                   {
                        max=scores[i];               
                   }
           }
           printf("最高分是:%d\n",max);
           
       //4.找最低分
           min=scores[0];//让min等于数组的第0项,
             
          for(i=0;i<25;i++)
           {
                   if(min>scores[i])
                   {
                        min=scores[i];               
                   }
           }
           printf("最低分是:%d\n",min);
       
         //5.计算平均值
         //5.1算出总分
          for(i=0;i<25;i++)
          {
              total+=scores[i];
              //total=total+datas[i]   
          }
          
         //5.2求平均值
           average=(float)total/25;
              
       //6.输出结果    
           printf("平均分是:%f\n",average);
               
        
         fac(scores);
         for(i=0; i<N; i++)
            printf("%4d",scores[i]);
          system("pause");
          return 0;
    }
    
    int fac(int ans[]) {
        int i,j,t;
        for(i=0; i<N-1; i++)
            for(j=0; j<N-1-i; j++)
                if(ans[j]>ans[j+1]) {
                    t=ans[i];
                    ans[j]=ans[j+1];
                    ans[j+1]=t;
                }
    }
    
    
    

    实现的步骤

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(4条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月11日
  • 已采纳回答 6月4日
  • 创建了问题 5月30日