写一个函数,用“起泡法”对输入的10个字符按由小到大顺序排列。
#include<stdio.h>
int main()
{
int a[10],i,j,temp;
for(i=0;i<10;i++)
{
printf("请输入a[%d]=",i);
scanf("%d",&a<i>);
fflush(stdin);
}
printf("排序前:");
for(i=0;i<10;i++)
{
printf("a[%d]=%d",i,a<i>);
}
printf("\n");
for(i=9;i>=0;i--)
{
for(j=0;j<=i-1;j++)
{
if(a[j+1]<a[j])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
printf("排序后:");
for(i=0;i<10;i++)
{
printf("a[%d]=%d",i,a<i>);
}
return 0;
}
扩展资料:
#include<stdio.h>//用冒泡法对5个数排序(由小到大)
int main()
{
int a[5],i,j,temp;
for(i=0;i<5;i++)
{
printf("请输入a[%d]=",i);
scanf("%d",&a<i>);
fflush(stdin);
}
printf("排序前:");//排序前
for(i=0;i<5;i++)
{
printf("a[%d]=%2d",i,a<i>);
}
printf("\n");
for(i=0;i<5;i++)
for(j=0;j<4-i;j++)
{
if(a[j+1]<a[j])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("排序后:");//排序后
for(i=0;i<5;i++)
{
printf("a[%d]=%2d",i,a<i>);
}
printf("\n");
return 0;
}
void sort(int a[],int len)
{
int i,j,temp;
for(i=0;i<len;i++)
for(j=0;j<len-1;j++)
if(a[j]>a[j+1])
{temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;}
}
int main()
{
int a[100];
int len;
int i=0;
printf("请输入数组数据(以零结束):");
scanf("%d",&a[i]);
while(a[i]!=0)
{
i++;
scanf("%d",&a[i]);
}
len=i;
printf("数组初始为:");
for(i=0;i<len;i++)
printf("%d ",a[i]);
printf("\n");
sort(a,len);
printf("排序后的数组为:");
for(i=0;i<len;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}