为了账号安全,请及时绑定邮箱和手机立即绑定

跪求兄弟姐妹来看看我的程序为什么没有输出??明明没有报错,逻辑也感觉没有问题

#include <stdio.h>

int main()

{

    int score[10]={67,98,75,63,82,79,81,91,66,84};

    void allgrade();

    void mostgrade();

    void lowgrade();

    void average();

    void gradedown();

     

    return 0;

}

void allgrade()

{

    int score[10]={67,98,75,63,82,79,81,91,66,84};

    int i;

    int temp;

    int sum=0;

    for(i=0;i<10;i++)

    {

        temp=score[i];

        sum=temp+sum;

    }

    printf("总分%d \n",sum);

}

void mostgrade()

{

int score[10]={67,98,75,63,82,79,81,91,66,84};

    int store;

    int i;

    for(i=0;i<9;i++)

    {

        if(score[i]>score[i+1])

        {

            score[i+1]=score[i];

            store=score[i+1];

        }

    }

    printf("最高分是%d\n",store);

}

void lowgrade()

{

int score[10]={67,98,75,63,82,79,81,91,66,84};

    int story;

    int i;

    for(i=0;i<9;i++)

    {

        if(score[i]<score[i+1])

        {

        score[i+1]=score[i];

        story=score[i+1];

        }

    }

    printf("最低分是%d\n",story);

}

void average()

{

int score[10]={67,98,75,63,82,79,81,91,66,84};

    int i;

    int temp;

    int sum=0;

    int average1;

    for(i=0;i<10;i++)

    {

        temp=score[i];

        sum=temp+sum;

    }

    average1=sum/10;

    printf("平均分%d\n",average1);

}

void gradedown()

{

    int score[10]={67,98,75,63,82,79,81,91,66,84};

    int store;

    int i;

    for(i=0;i<9;i++)

    {

        if(score[i]>score[i+1])

        {

             store=score[i+1];

            score[i+1]=score[i];

            score[i]=store;

        }

    }

    for(i=0;i<9;i++)

    {

        printf("%d  ,",score[i]);

    }

}


正在回答

2 回答

不用跪求...解决了问题记得采纳回答者就行了!

//第一:将你定义的四个函数放到到main函数之前
//第二:调用函数不用加void前缀
#include <stdio.h>
void allgrade()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    int i;
    int temp;
    int sum=0;
    for(i=0;i<10;i++)
    {
        temp=score[i];
        sum=temp+sum;
    }
    printf("总分%d \n",sum);
}
void mostgrade()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
    int store;
    int i;
    for(i=0;i<9;i++)
    {
        if(score[i]>score[i+1])
        {
            score[i+1]=score[i];
            store=score[i+1];
        }
    }
    printf("最高分是%d\n",store);
}
void lowgrade()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
    int story;
    int i;
    for(i=0;i<9;i++)
    {
        if(score[i]<score[i+1])
        {
        score[i+1]=score[i];
        story=score[i+1];
        }
    }
   	printf("最低分是%d\n",story);
}
void average()
{
int score[10]={67,98,75,63,82,79,81,91,66,84};
    int i;
    int temp;
    int sum=0;
    int average1;
    for(i=0;i<10;i++)
    {
        temp=score[i];
        sum=temp+sum;
    }
    average1=sum/10;
    printf("平均分%d\n",average1);
}
void gradedown()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    int store;
    int i;
    for(i=0;i<9;i++)
    {
        if(score[i]>score[i+1])
        {
             store=score[i+1];
            score[i+1]=score[i];
            score[i]=store;
        }
    }
    for(i=0;i<9;i++)
    {
        printf("%d  ,",score[i]);
    }
}
int main()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
     allgrade();
     mostgrade();
     lowgrade();
     average();
     gradedown();
     
    return 0;
}


1 回复 有任何疑惑可以回复我~
#1

慕后端9788028 提问者

程序后来我改了下,改对了。但是有点疑惑,为什么要把函数放在定义的主函数前面呢?如果在后面,是不是因为函数是是从主函数开始执行,如果把定义的函数放后面,程序读到return 0;就不往下读了?如果是在前面,程序会把记下定义的函数,然后从主函数开始执行??? 还有,为什么主函数已经定义了数组的情况下,在自定义函数中不重新定义一次数组,程序会报错?? 还有上面的降序排列我写错了,不过已经改了
2016-09-15 回复 有任何疑惑可以回复我~
#2

JustWannaHugU 回复 慕后端9788028 提问者

意思是我回答完你上面所有问题,你才能采纳我? 对不起,我时间没那么廉价
2016-09-15 回复 有任何疑惑可以回复我~
#3

慕后端9788028 提问者 回复 JustWannaHugU

我不知道你生活中说话是不是这个样子?  别人也不是那个意思,干嘛要这样说话,大家都是刚接触C语言,有不明白的地方也很正常,你也可以选择无视掉,网上这样很正常,但不该说伤人的话。对人不尊重,这就不应该了。
2016-09-15 回复 有任何疑惑可以回复我~

当然不是,采纳这个很重要吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

跪求兄弟姐妹来看看我的程序为什么没有输出??明明没有报错,逻辑也感觉没有问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信