标题:大神帮我改一下这个程序。。。先谢过
取消只看楼主
tudou2xigua
Rank: 2
等 级:论坛游民
帖 子:87
专家分:54
注 册:2011-3-20
结帖率:90.32%
已结贴  问题点数:30 回复次数:0 
大神帮我改一下这个程序。。。先谢过
有二十个学生 每个学生有6门课成绩(数学 语文 英语 化学 物理 生物) 从键盘上输入以上数据(包括学号 姓名 6门课成绩) 计算出每个人的总成绩 各科平均成绩 并按成绩排名。
#include<stdio.h>
struct student
{
    int num;
    char name[10];
    float math,yuwen,english,huaxue,physic,shengw;
    float sum1,average;
}stu[20];
void main()
{
    void sort(float*p);
    struct student*p1=stu;
    int i;
    float sum,aver;
    for(i=0;i<20;i++)
    {
        printf("学号:");
        scanf("%d",&p1->num);
        printf("姓名:");
        scanf("%s",p1->name);
        printf("各门成绩:");
        scanf("%f %f %f %f %f %f",&p1->math,&p1->yuwen,&p1->english,&p1->huaxue,&p1->physic,&p1->shengw);
    }
    for(p1=stu;p1<stu+20;p1++)
    {
        sum=p1->math+p1->yuwen+p1->english+p1->huaxue+p1->physic+p1->shengw;
        printf("总分:%f",sum);
        aver=sum/6;
        printf("平均分:%f",aver);
        sum=0;
    }
    for(i=0;i<20;i++)
    sort(p1->sum1);
    for(i=0;i<20;i++)
        printf("%d %s %f %f %f %f %f %f",p1->num,p1->name,p1->math,p1->yuwen,p1->english,p1->huaxue,p1->physic,p1->shengw);
}
void sort(struct student*p)
{
    int i,j;
    float swap;
    for(i=0;i<19;i++)
        for(j=i+1;j<20;j++)
            if(p[i]<p[j])
            {
                swap=p[i];
                p[i]=p[j];
                p[j]=swap;
            }
}
大神帮我改一下,谢谢啦,分不多,见谅,先谢过!
搜索更多相关主题的帖子: english huaxue 总成绩 英语 姓名 
2011-06-07 13:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-342098-1-1.html




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

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