首页 > 电脑

为甚吗我自己打印出来不对只执行了一遍

更新时间2018-09-06 09:18:45

#include<stdio.h>

#define N 5

int main(void)

{

int nums[N]={8,9,5,6,3};

int i,j;

int temp;

 for(i=0;i<N-1;i++);

{

 

for(j=0;j<N-i-1;j++);

{

if(nums[j]<nums[j+1])

{

temp=nums[j];

  nums[j]=nums[j+1];

  nums[j+1]=temp;

}

 

}

printf("经过排序过后的顺序: ");

 

}

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

{

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

}

 

}


程序有两个大问题,

一是你的for循环后面多了分号,这个导致循环不会执行里面内容

二是你的    printf("经过排序过后的顺序: ");位置不对

以下改好的

#include<stdio.h>

#define N 5
int main(void)
{
   int nums[N]= {8,9,5,6,3};
   int i,j;
   int temp;
   for(i=0; i<N-1; i++)
       {
           for(j=0; j<N-i-1; j++)
           {
               if(nums[j]<nums[j+1])
                   {
                       temp=nums[j];
                       nums[j]=nums[j+1];
                       nums[j+1]=temp;
                   }
           }
       }
   printf("经过排序过后的顺序: ");
   for(i=0; i<N; i++)
       {
           printf("%d ",nums[i]);
       }
   printf(" ");
   return 0;
}


上一篇:求佳佳数据恢复软件破解版

下一篇:这个蓝屏是怎么回事