大侠能给看看么
刚学的c,学到数组,碰见一个求6个从小到大排列程序试着编了编#include<stdio.h>
void main()
{
int a[7];
int i=1,j=1,n=1,s;
printf("pleaes input six maibe\n");
for(;i<=6;i++)
scanf("%d",&a[i]);
while(j<5)
{
for(;n<=6;n++)
{
s=a[n];
if(a[n]>a[n+1])
{
a[n]=a[n+1];
a[n+1]=s;
}
}
j++;
}
printf("%d %d %d %d %d %d",a[1],a[2],a[3],a[4],a[5],a[6]);
}
程序能运行但是结果不对,嵌套的外层循环只运行了一次 我输入764521 输出的是645217 我找了 半天也不知道哪里错了
我就把for循环换成while循环
while(j<5)
{
for(;n<=6;n++)
{
s=a[n];
if(a[n]>a[n+1])
{
a[n]=a[n+1];
a[n+1]=s;
}
}
j++;
}
就是却可以 可是答案是用的for啊 是不是我的编译器有问题啊 我用的是vc6