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

我的代码哪里错了??找不到原因啊,我把降序的代码单独拿出来就是ok的完全摸不着头脑啊。。。。

#include <stdio.h>
int zongfen(int score[])
{
    int i=0,sum=0;
    while(i<10){
        sum+=score[i];
        i++;
    }
    double aver;
    aver=sum/10;
    printf("总分是:%d\n",sum);
    printf("平均分是:%f\n",aver);
}
int maxmin(int score[])
{
    int i,max=0;
    int min=score[0];
    for(i=0;i<10;i++){
        if(score[i]>max){
            max=score[i];
        }
        if(score[i]<min){
            min=score[i];
        }
    }
    printf("最高分是:%d,最低分是:%d\n",max,min);
}
int jiangxu(int score[])
{
    int i,j;
    for(i=8;i>=0;i--){
        for(j=0;j<i;j++){
            if(score[j]>score[j+1]){
                int temp;
                temp=score[j];
                score[j]=score[j+1];
                score[j+1]=temp;
            }
        }
    }
   printf("下面是成绩降序\n");
    for(i=0;i<10;i++){
     printf("%d ",jiangxu(score));
 }
 printf("\n"); 
}
int main()
{
    int i,score[10]={67,98,75,63,82,79,81,91,66,84};
    zongfen(score);
    maxmin(score);
    jiangxu(scoer);
    return 0;
}

正在回答

3 回答

第一,调用 jiangxu(scoer);函数时你传递的参数写错了,score,不是scoer

第二,你要的是降序效果,可是你在比较代码中却升序了

第三,冒泡降序函数中 i 从 8 开始,那你第一趟冒泡只能比较到数组的第八个元素,而你数组有十个元素,最后两个元素与其他元素根本就没有比较过,因此 i 应该从 9 开始,这样第一趟比较 9 次,后面每一趟依次减少 1 

下面是修改了你的代码,可以参考,希望对你有所帮助: )

#include <stdio.h>
int jiangxu(int score[])
{
    int i,j;
    for(i=9;i>0;i--){
        for(j=0;j<i;j++){
            if(score[j]<score[j+1]){
                int temp;
                temp=score[j];
                score[j]=score[j+1];
                score[j+1]=temp;
            }
        }
    }
    printf("下面是成绩降序\n");
    for(i=0;i<10;i++){
		printf("%d  ",score[i]);
	}
    printf("\n");  
}
int main()
{
    int score[10]={67,98,75,63,82,79,81,91,66,84};
    jiangxu(score);
    return 0;
}


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

只如初見 提问者

非常感谢!
2015-08-24 回复 有任何疑惑可以回复我~

[]应该要用成()

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

只如初見 提问者

[]不是数组吗,如果换成()还能执行吗?而且我将降序那段代码跟主函数一起拿出来执行是可以的也是正确的啊
2015-08-17 回复 有任何疑惑可以回复我~

因为英文很烂所以用拼音代替了

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

举报

0/150
提交
取消

我的代码哪里错了??找不到原因啊,我把降序的代码单独拿出来就是ok的完全摸不着头脑啊。。。。

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