| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1731 人关注过本帖
标题:求平均成绩再按升序排列的一道题 但是不知道哪儿错了 求大佬帮忙改改啊
只看楼主 加入收藏
邓小庆
Rank: 1
来 自:四川
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-4-6
结帖率:0
收藏
已结贴  问题点数:10 回复次数:4 
求平均成绩再按升序排列的一道题 但是不知道哪儿错了 求大佬帮忙改改啊
#include<stdio.h>
#define N 6
void main()
{
  int i,j,temp;
float average[N],math[N],physics[N],english[N],computer[N];

   for(i=0;i<N;i++)//算出每个学生的成绩平均数
   {printf("\n请输入数学成绩[%d],物理成绩[%d],英语成绩[%d],计算机成绩[%d]",i,i,i,i);
    scanf("%d%d%d%d",&math[i],&physics[i],&english[i],computer[i]);
    average[i]=(math[i]+physics[i]+english[i]+computer[i])/4;
    printf("9907710%d的平均分为:%f",i+1,average[i]);
   }

   for(i=0;i<N;i++)//将学生的平均成绩按升序排列
   for(j=0;j<N-1;j++)
    if(average[j]>average[j+1])
    { temp=average[j];
      average=average[j+1];
      average[j+1]=temp;
    }
    printf("输出比较结果\n");
    for(i=0;i<N;i++)
    {    printf("%d",average[i]);
    printf("\n");
    }

图片附件: 游客没有浏览图片的权限,请 登录注册


}
搜索更多相关主题的帖子: average include 平均数 数学 
2017-04-20 22:50
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:4 
computer漏了&
2017-04-21 09:59
磊仔快乐
Rank: 2
等 级:论坛游民
帖 子:15
专家分:34
注 册:2017-3-27
收藏
得分:4 
你写的程序错误有点多
scanf("%d%d%d%d",&math[i],&physics[i],&english[i],computer[i]);//%d与要输入的数据类型不符合
for(i=0;i<N;i++)//将学生的平均成绩按升序排列
    for(j=0;j<N-1;j++)
     if(average[j]>average[j+1])
     { temp=average[j];
       average=average[j+1];//average改成average[j]
       average[j+1]=temp;
     }//成绩排列for循环写的不对
int i,j,temp;//temp应为float类型

可以参考一下我改过的程序
#include<stdio.h>
#define N 6
void main()
{
    int i,j;
    float average[N],math[N],physics[N],english[N],computer[N],temp;
    for(i=0;i<N;i++)//算出每个学生的成绩平均数
    {
       printf("\n请输入第 %d 名学生的数学成绩,物理成绩,英语成绩,计算机成绩:\n",i+1);
       scanf("%f%f%f%f",&math[i],&physics[i],&english[i],&computer[i]);
       average[i]=(math[i]+physics[i]+english[i]+computer[i])/4;
       printf("第 %d 名学生的平均分为:%f",i+1,average[i]);
       printf("\n");
    }
 
    for(i=0;i<N-1;i++)//将学生的平均成绩按升序排列
    for(j=0;j<N-i-1;j++)
     if(average[j]>average[j+1])
     {
        temp=average[j];
        average[j]=average[j+1];
        average[j+1]=temp;
     }
     printf("输出比较结果\n");
     for(i=0;i<N;i++)
     {    printf("%f",average[i]);
     printf("\n");
     }
}
2017-04-21 17:01
平平小黄
Rank: 2
等 级:论坛游民
帖 子:15
专家分:28
注 册:2016-9-27
收藏
得分:4 
#include<stdio.h>
#define N 6
int main()
{
  int i,j;
float average[N],math[N],physics[N],english[N],computer[N],temp;//temp要和成绩比较 放在float类型比较稳妥

   for(i=0;i<N;i++)//算出每个学生的成绩平均数
   {printf("\n请输入数学成绩[%d],物理成绩[%d],英语成绩[%d],计算机成绩[%d]:",i,i,i,i);
    scanf("%f%f%f%f",&math[i],&physics[i],&english[i],&computer[i]);//float要用%f,computer[i]前缺了一个&
    average[i]=(math[i]+physics[i]+english[i]+computer[i])/4;
    printf("9907710%d的平均分为:%f",i+1,average[i]);
   }

   for(i=0;i<N;i++)//将学生的平均成绩按升序排列
   for(j=0;j<N-1;j++)
    if(average[j]>average[j+1])
    { temp=average[j];
      average[j]=average[j+1];//这里漏了个[j]
      average[j+1]=temp;
    }
    printf("输出比较结果\n");
    for(i=0;i<N;i++)
    {    printf("%f",average[i]);//同float要用%f
    printf("\n");
    }
    return 0;
}//最后缺了一个}
2017-04-25 00:14
邓小庆
Rank: 1
来 自:四川
等 级:新手上路
帖 子:3
专家分:0
注 册:2017-4-6
收藏
得分:0 
谢谢大佬了
2017-05-08 21:52
快速回复:求平均成绩再按升序排列的一道题 但是不知道哪儿错了 求大佬帮忙改改啊 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016391 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved