问答详情
源自:6-5 数组的应用(一)

关于“打印时除了最后一个数不带逗号外其他数后面都带逗号”的问题

 

这段代码哪里错了,我写了两段代码,一段不管最后一个数字后面的逗号,

一段特别将最后一个字的逗号去掉,但是第二段代码运行的不是想象中的结果

两者只有加粗处有区别


下面是第一段代码:

#include<stdio.h>
int main()
{
     int i;
     int score[]={67,98,75,63,82,79,81,91,66,84};
     jiangxu(score);
     printf("降序排列为:");
     for(i=0;i<10;i++)
     {
          printf("%d,",score[i]);
      }
     return 0;
 }
int jiangxu(int score[])
{
     int i,j;
     int temp=0;
     for(i=8;i>=0;i--)
     {
          for(j=0;j<=i;j++)
          {
               if(score[j]<score[j+1])
               {
                    temp=score[j];
                    score[j]=score[j+1];
                    score[j+1]=temp; 
               }
          }
     }
}

结果为:https://img2.mukewang.com/5b8a01f80001a34103780067.jpg

下面是第二段代码:

#include<stdio.h>
int main()
{
     int i;
     int score[]={67,98,75,63,82,79,81,91,66,84};
     jiangxu(score);
     printf("降序排列为:");
     for(i=0;i<10;i++)
     {
          if(i=9)
              printf("%d\n",score[i]);
          else
              printf("%d,",score[i]);

      }
      return 0;
 }
int jiangxu(int score[])
{
     int i,j;
     int temp=0;
     for(i=8;i>=0;i--)
     {
          for(j=0;j<=i;j++)
          {
               if(score[j]<score[j+1])
               {
                    temp=score[j];
                    score[j]=score[j+1];
                    score[j+1]=temp; 
               }
          }
     }
}

结果为:https://img1.mukewang.com/5b8a021d000181f203600075.jpg



提问者:天阶夜色 2018-09-01 11:07

个回答

  • Starry_夜
    2018-09-04 15:26:23

    例子里的是用if   else 解决的,(i != 9)为最后面的数,用else输出放在最后,注意他的else输出为 printf("%.2f", arr[i]); 没有都逗号的