标题:大一新生 CS专业 自己提前学到数组这里 做了道题 出现错误 求指点
只看楼主
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
结帖率:66.67%
已结贴  问题点数:9 回复次数:8 
大一新生 CS专业 自己提前学到数组这里 做了道题 出现错误 求指点
#include<stdio.h>
#define MAX_NUMBER 30
void ReadSco( long num[], int sco[], int n);
void CacuSco(int n);
void RankSco( long num[], int sco[], int n);
main()
{
    int n;
    long num;
    int sco;

    printf("Input n:\n");
    scanf("%d",&n);

    ReadSco(num,sco,n);
    CacuSco(n);
    RankSco(num,sco,n);

}

    void ReadSco( long num[], int sco[], int n)
    {
        int i;
        printf("Input record:\n");

        for( i=0; i<n; i++)
        {
        scanf("%ld%d\n",&num[i],&sco[i]);
        }
    }

    void CacuSco(int sco[], int n)
    {
        int i;
        int sum;
        float average;
        printf("Caculate total and average score of course:\n");

        for ( i=0; i<n; i++ )
        {   
            sum += sco[i];
        }
            
        average =(float)sum/n;
        printf("%d%f\n",sum,average);
    }

    void RankSco( long num[], int sco[], int n)
    {
        int i,j,temp;
        for ( i=0; i<n-1; i++ )
        {
            for( j=i+i; j<n; j++ )
            {
                if ( num[j] > num[i] )
                {
                    temp = num[j];
                    num[j] = num[i];
                    num[i] = temp;
                }
                if ( sco[j] < sco[i] )
                {
                    temp = sco[i];
                    sco[j] = sco[i];
                    sco[i] = temp;
                }
            }
        }
        printf("%ld\t%d\n",num[i],sco[i]);
    }

如图按回车就错误.
搜索更多相关主题的帖子: 大一新生 include record 大一新生 专业 include record 专业 
2016-11-11 22:51
chimeixing
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:14
专家分:130
注 册:2010-10-19
得分:3 
main函数里面的变量n,num,sco都不是数据类型,你这样竟然编译不报错?
可以把  
long num;
int sco;
改成
long num[128];
int sco[128];
这样编译就不会报错了

菜鸟
2016-11-11 23:01
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:3 
这么长的代码,你最好先指出出错的地方或你认为有问题的代码行,
大家的时间是有限的。

早知做人那么辛苦!  当初不应该下凡
2016-11-11 23:15
linlulu001
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:20
帖 子:944
专家分:4047
注 册:2016-4-13
得分:3 
回复 2楼 chimeixing
单个元素住一个房间(和邻居互不认识),所以和隔壁房间不通。
数组的元素(和邻居认识),所以和隔壁房间相通。
你的程序将原本不通的房间硬生生的砸个洞让其相通,不管墙的后面有没有住着其它元素,反正就是要住进去的强盗思想。
所以,悲剧发生了,墙打通了之后,管理员来了,把非法入侵的强盗们捉起来了,非法入侵之旅就此结束。
2016-11-12 09:19
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
得分:0 
回复 3楼 炎天
谢谢提醒哈  以后会注意这些的.
2016-11-12 09:26
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
得分:0 
回复 4楼 linlulu001
哇咔咔 竟然可以把错误比喻的这么生动~
2016-11-12 09:28
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
得分:0 
回复 2楼 chimeixing
我改正了这个错误 但是后续又出错了 是怎么了  我觉得应该是CacuSco函数里面有错误  麻烦看一下.
2016-11-12 12:24
Poppy辉
Rank: 1
来 自:云南曲靖
等 级:新手上路
帖 子:33
专家分:4
注 册:2016-11-5
得分:0 
回复 4楼 linlulu001
我改正了这个错误 但是后续又出错了 是怎么了  我觉得应该是CacuSco函数里面有错误  麻烦看一下.
2016-11-12 12:24
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 


另外:你既然只要得到最大和最小的数,那么用一层循环即可

早知做人那么辛苦!  当初不应该下凡
2016-11-12 14:07



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




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

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