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

c语言排序问题

c语言排序问题

C
qq_谈秋_0 2017-09-13 19:31:43
为什么我的最高分数组输出不对?数组下标不是从零开始第一个吗?最高分是98,而我下标为零时,输出是2686792。求解答。#include <stdio.h> int zgf(int score[]); int zdf(int score[]); void sumi(int score[]); int main() {     int score[]={67,98,75,63,82,79,81,91,66,84};     sumi(score);     zgf(score);     zdf(score); }         void sumi(int score[])     {         int sum,i;         for(i=0;i<10;i++)         {             sum+=score[i];         }     printf("总分是%d\n",sum);     }          int zgf(int score[])     {         int a,b,c;         for(a=0;a<10;a++)         {             for(b=a+1;b<11;b++)             {                 if(score[a]<score[b])                 {                     c=score[a];                     score[a]=score[b];                     score[b]=c;                 }             }         }         printf("最高分是%d\n",score[0]);     }          int zdf(int score[])     {         int i,j,t;         for(i=0;i<10;i++)         {             for(j=i+1;j<11;j++)             {                 if(score[i]>score[j])                 {                     t=score[i];                     score[i]=score[j];                     score[j]=t;                 }             }         }         printf("最低分是%d\n",score[0]);     }
查看完整描述

1 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

 for(b=a+1;b<11;b++)

当b==10时数组下标越界

查看完整回答
反对 回复 2017-09-13
  • 1 回答
  • 1 关注
  • 936 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信