c语言中用冒泡排序法排列任意输入的10个数,用程序输出从小到大的排列具体过程,谢谢。。

for j:=1 to n-1 do
for i:=1 to n-j do
if a[i]>a[i+1] t:=a[i];a[i]:=a[i+1];a[i+1]:=t;
只做了这些。。前面怎么做。。求简单。。 = =

可以试试这样写!!!
#include<stdio.h>
#define N 10
void main()
{
int i,a[N],t=0,j=0;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<N;i++)
printf("%5d",a[i]);

}追问

看不懂

追答

for(i=0;ia[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
这是进行冒泡法排序

for(i=0;i<N;i++)
printf("%5d",a[i]);
输出排列好的数组!!!
现在呢,这样写,懂吗??

追问

懂了很多。。不过还有些不懂。。 scanf("%d",&a[i]); 这是咩啊。。我没学过。。
for(i=0;i<N;i++)
printf("%5d",a[i]);
这又是咩啊。。= =

追答

这是输出数组中的各元素!

追问

能不能简单些。。什么 var 。。 a:array[1..什么什么]的???我会加分。。

追答

//scanf为输入,printf为输出,具体用法你们以后应该学,也可以查MSDN
#include
#define N 10
void main()
{
int i,t=0,j=0;
int a[N]={9,8,2,1,3,5,4,7,6,0};
for(i=0;ia[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<N;i++)
printf("%5d",a[i]);

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-30
#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("input 10 numbers :\n");
for (i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf("%d ",a[i]);
}
这是我用手打的哈 希望对你有帮助
第2个回答  2011-11-30
#include<stdio.h>
void main()
{

int a[10];
int i,j,t;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;

}
printf("从小到大:");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
}
第3个回答  2011-11-30
#include<stdio.h>
void main()
{int a[11],i,j,t;
for (i=1;i<11;i++)
scanf("%d",&a[i]);
printf("\n");
for (j=1;j<=9;j++)
for (i=1;i<=10-j;i++)
if (a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;}
for (i=1;i<11;i++)
printf("%d ",a[i]);
}
第4个回答  2011-11-30
int i,j,t;
inta[10];
for(i=0;i<10;i++)
scanf("%d",&a[10]);
for(j=0;j<10;j++)追问

真心看不懂。。

相似回答