当前位置: 代码迷 >> C语言 >> [求助]排序的弱智问题...
  详细解决方案

[求助]排序的弱智问题...

热度:262   发布时间:2005-12-05 22:33:00.0
[求助]排序的弱智问题...

#include <stdio.h>
void main()
{/*
int a[10],i,j,t;
printf("shuru:");

for(i=10;i>0;i--)
{
scanf("%d",&a[i]);
}
for(i=10;i>0;i--)
for(j=0;j<i;j++)
{
if(a[j]>a[j+1])
t=a[j];
a[j]=a[j+1];
a[j+1]=t;

}


for(i=10;i>0;i--)
printf("%d ",a[i]);

}*/







int a[11],i,j,t;
printf("shuru:\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=10;j>i;j--)
{
if(a[j]<a[j-1])
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
for(i=1;i<11;i++)
printf("%d",a[i]);
}



这两个运行之后都没法正常排序!要么就出一大堆负数

要么就程序错误 然后只能点不发送了..



请高手们教教我这个东西吖!

怎样写算正确?

搜索更多相关的解决方案: 弱智  

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

#include <stdio.h>
void main()
{
int a[10],i,j,t;


printf("shuru:");

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


scanf("%d",&a[i]);


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

for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{

t=a[j];
a[j]=a[j+1];
a[j+1]=t;

}

}


for(i=0;i<10;i++)
printf("%d ",a[i]);

}
/*Write by cherry*/

[此贴子已经被作者于2005-12-5 23:05:10编辑过]


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

第一个代码里面的for(初值;循环体;增值)有问题.
然后两个代码里面的if语句体掉了{ }
其实再好好顺着你自己的思路看一遍就可以找到问题了...
升序和降序只需改变if语句里的<,>.


----------------解决方案--------------------------------------------------------
啊! 搞明白拉~ 万分感谢啊..



我是菜到一定程度了..! 谢谢指点咯!!
----------------解决方案--------------------------------------------------------
第一段程序里面..  你那个赋值语句还能给a[10]赋值啊.??  我郁闷了..a[10]什么时候可以取11个下标变量了哦.??  偶看的书上都没这么教过偶...
----------------解决方案--------------------------------------------------------
哈,这个问题和我昨天的是一样得啊,最简单的冒泡啊 !!!~!~

----------------解决方案--------------------------------------------------------
  相关解决方案