问答详情
源自:6-7 字符串与数组

对若干字符串进行升序排序,用“比较交换法”

include<stdio.h>
#define N 10

int main()
{
 int i,j,t,n;
 int a[N];
 printf("请输入元素个数: ");
    scanf("%d",&n);
 printf("请输入%d个整数:",n);
 for(i=0;i<n;i++)
  scanf("%d",&a[i]);
 for(i=0;i<n-1;i++)
 {
  for(j=i+1;j<n;j++)
   if(a[i]>a[j])
   {
    t=a[i];
    a[i]=a[j];
    a[j]=t;
   }
 }
 printf("排序后:\n");
 for(i=0;i<n;i++)
  printf("%d",a[i]);
 printf("\n");
 return 0;
}

提问者:小旗 2015-12-20 21:27

个回答

  • 越飞越高
    2016-11-04 22:37:34

    //有两处错误:

    #include<stdio.h>  //漏掉#

    #define N 10

    int main()
    {
     int i,j,t,n;
     int a[N];
     printf("请输入元素个数: ");  //要改为英文符合的逗号,符合必须要在英文状态下输入
        scanf("%d",&n);
     printf("请输入%d个整数:",n);
     for(i=0;i<n;i++)
      scanf("%d",&a[i]);
     for(i=0;i<n-1;i++)
     {
      for(j=i+1;j<n;j++)
       if(a[i]>a[j])
       {
        t=a[i];
        a[i]=a[j];
        a[j]=t;
       }
     }
     printf("排序后:\n");
     for(i=0;i<n;i++)
      printf("%d",a[i]);
     printf("\n");
     return 0;
    }

  • 努力提升
    2015-12-21 11:58:37

    printf("请输入元素个数: ");这个分号写错了,改成英文的;其他的没有什么问题