| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 397 人关注过本帖
标题:我的程序运行的结果出了问题 求大家帮我修改一下
只看楼主 加入收藏
Ljldym
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-5-9
结帖率:57.14%
收藏
已结贴  问题点数:10 回复次数:2 
我的程序运行的结果出了问题 求大家帮我修改一下
编写程序:从键盘输入10名学生的姓名及三科成绩,将这10个学生的信息按照总分从高到低的顺序排序。
#include"stdio.h"
#define N 3
struct stu
{
    char nam[10];
    int sco[3];
    int sum;
};
void f_input(struct stu infor[N])
{
    int i,k;
    for(i=0;i<N;i++)
    {printf("Input name:\n");
    gets(infor[i].nam);}
    fflush(stdin);
    for(i=0;i<N;i++)
    {for(k=0;k<3;k++)
        {printf("Input a score:\n");
         scanf("%d",&infor[i].sco[k]);}
    infor[i].sum=infor[i].sco[1]+infor[i].sco[2]+infor[i].sco[3];}
}
void f_sort(struct stu cmp[N])
{
    int i,k;
    struct stu temp;
    for(i=1;i<N;i++)
        for(k=1;k<=N-i;k++)
        if(cmp[i-1].sum<cmp[i].sum)
        {temp=cmp[i-1];
        cmp[i-1]=cmp[i];
        cmp[i]=temp;}
}
void f_print(struct stu put[N])
{
    int i,k;
    printf("姓名\t成绩1\t成绩2\t成绩3\t\n");
    for(i=0;i<N;i++)
    {
        printf("%s\t",put[i].nam);
        fflush(stdin);
        for(k=0;k<3;k++)
        printf("%d\t",put[i].sco[k]);
        printf("\n");
    }
}
void main()
{ struct stu s[N];
   f_input(s);
   f_sort(s);
   f_print(s);
}



[ 本帖最后由 Ljldym 于 2015-5-9 14:07 编辑 ]
搜索更多相关主题的帖子: 编写程序 include 键盘 信息 姓名 
2015-05-09 13:25
calix
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:249
专家分:1442
注 册:2015-5-4
收藏
得分:10 
乱码应该是文件编码问题
中间的这个f_sort方法写的有问题
内层循环k却没用k明显有问题,return cmp[N]也不对
2015-05-09 14:10
Ljldym
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-5-9
收藏
得分:0 
回复 2楼 calix
谢谢对于循环的提醒!果然成功了
2015-05-09 14:20
快速回复:我的程序运行的结果出了问题 求大家帮我修改一下
数据加载中...
 
   



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

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