| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 625 人关注过本帖
标题:大家帮我看看这个程序 谢谢
只看楼主 加入收藏
z974532452
Rank: 2
等 级:论坛游民
帖 子:23
专家分:41
注 册:2015-5-10
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:7 
大家帮我看看这个程序 谢谢
#include <stdio.h>
#include<stdlib.h>
int main(void)
{
    FILE *fp;
    long num;
    char stname[20];
    int i,j,k,score[10];
    int max,min;
    if((fp=fopen("D:\\f12-1.txt","r"))==NULL)
    {
        printf("File open error!\n");
        exit(0);
    }
    for(i=0;i<5;i++)
    {
        fscanf(fp,"%ld%s%d",&num,stname,&score[i]);
        printf("%ld %s %d\n",num,stname,score[i]);
    }
    printf("output max:");
    for(j=0;j<5;j++)
    {
        max=score[0];
        if(max<score[j])
        {
            max=score[j];
        }
    }
    printf("%ld %s %d\n",num,stname,max);//怎样才能输出第j个人的学号和姓名
    printf("output min:");
    for(k=0;k<5;k++)
    {
        min=score[0];
        if(min>score[k])
        {
            min=score[k];
        }
    }
    printf("%ld %s %d\n",num,stname,min);//怎样才能输出第k个人的学号和姓名
    if(fclose(fp))
    {
        printf("Can not close the file!\n");
        exit(0);
    }
    return 0;
}
输出结果如下:
301101 Zhangwen 91
301102 Chenhui 85
301103 Wangweidong 76
301104 Zhengwei 69
301105 Guowentao 55

301105 Guowentao 91
301105 Guowentao 55
我试了好好长时间也试不出怎样才能得到最高分数和最低分数人的学号和姓名,我这样写的程序只能输出最高分数和最低分数但就是不会怎样才鞥输出对应的人的学号和姓名
搜索更多相关主题的帖子: include 
2015-05-28 17:08
执笔画江山
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:265
专家分:1010
注 册:2015-1-13
收藏
得分:0 
都能写到这儿 就出不来了?

授人以鱼,不如授人以渔
2015-05-28 17:56
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:0 
printf("output max:");
    for(j=0;j<5;j++)
    {
        max=score[0];
        if(max<score[j])
        {
            max=score[j];
        }
    }
把max=score[0] 放到for 的上面去
 for(k=0;k<5;k++)
    {
        min=score[0];
        if(min>score[k])
        {
            min=score[k];
        }
    }
把min=score[0] 放到for的上面去

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2015-05-28 17:56
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:10 
printf("output max:");
    for(j=0;j<5;j++)
    {
        max=score[0];
        if(max<score[j])
        {
            max=score[j];
        }
    }
    printf("%ld %s %d\n",num,stname,max);//怎样才能输出第j个人的学号和姓名

 在if(max<score[j])里添加一个 变量记录 获得新最大值得j
{
   max=score[j];
   k=j;
}
 printf("%ld %s %d\n",num[k],stname[k],max); num 应该弄成数组

最小值也同上

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2015-05-28 18:01
纳兰伽香
Rank: 10Rank: 10Rank: 10
来 自:北京
等 级:贵宾
威 望:10
帖 子:426
专家分:1650
注 册:2015-4-5
收藏
得分:5 
楼上正解。原因应该很好懂

风回小院庭芜绿,柳眼春相续
2015-05-28 18:01
取名字
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:236
专家分:924
注 册:2015-4-27
收藏
得分:5 
num变量类型改为数组,stname变量类型改为二维数组。
2015-05-28 18:29
z974532452
Rank: 2
等 级:论坛游民
帖 子:23
专家分:41
注 册:2015-5-10
收藏
得分:0 
回复 4楼 do8do8do8
输不出结果啊
2015-05-28 21:15
z974532452
Rank: 2
等 级:论坛游民
帖 子:23
专家分:41
注 册:2015-5-10
收藏
得分:0 
回复 4楼 do8do8do8
刚研究了下  先要k=0; 谢谢
2015-05-28 21:19
快速回复:大家帮我看看这个程序 谢谢
数据加载中...
 
   



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

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