当前位置: 代码迷 >> C语言 >> [求助]关于选择法排序
  详细解决方案

[求助]关于选择法排序

热度:102   发布时间:2007-04-22 14:21:31.0
[求助]关于选择法排序
这个程序总觉得少点什么,大家帮忙看下.


#include<stdio.h>
#define N 5
int main(void)
{
int a[N]={0},i=0,j=0,m=0;
printf("Input:\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])
m=a[i],a[i]=a[j],a[j]=m;
for(i=0;i<N;i++)
printf("%d ",a[i]);

}
搜索更多相关的解决方案: 选择  

----------------解决方案--------------------------------------------------------

你想问什么?说清楚噻。


----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
这个程序对吗
----------------解决方案--------------------------------------------------------
for(i=0;i<N-2;i++)
for(j=0;j<N-i-2;j++)
if (a[j]<a[j+1])
{ m=a[i],a[i]=a[j],a[j]=m;}
我没运行.

----------------解决方案--------------------------------------------------------
, 这也是我一真疑惑的问题,就算按楼上的改正了,程序运行后也得不到想要的正确结果




----------------解决方案--------------------------------------------------------


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

我也没运行
----------------解决方案--------------------------------------------------------
{
m=a[i];
a[i]=a[j];
a[j]=m;
}

----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <conio.h>
#define N 5
int main(void)
{
int a[N]={1,2,3,4,5};
int m,i,j;
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(a[j]<a[j+1])
{m=a[j],a[j]=a[j+1],a[j+1]=m;}
clrscr();
for(i=0;i<N;i++)
printf("%d ",a[i]);
getch();
}
现在可以了.
----------------解决方案--------------------------------------------------------
顶LZ,你的程序没有错误,只是你输入的时候,按回车了吗?按一个回车,才表示一个数的输入哦!
----------------解决方案--------------------------------------------------------
  相关解决方案