C语言:写一函数,用“冒泡法”对输入的10个字符按由小到大顺序排列

一定要完整,一定要正确,要能运行,谢谢

1、打开Visual stdio 2019软件新建空白c文件,在源文件处右击鼠标,选择添加下面的新建项,此时会弹出窗口:

2、弹出的窗口选择C++文件,将文件扩展名改为“.c”点击添加完成新建c文件,之后就可以编写程序了:

3、接下来就可以编写程序了,首先最前面的部分为输入数字的部分,之后的程序会对用户输入的数字就行排序,最后则是将结果打印出来。冒泡排序需要用到两层循环,第一层循环遍历数组中的元素,第二层则进行两两比较,如果顺序不对就要对其进行换位,直到排序完成:

4、最后执行程序观察结果,按下crtl+F5弹出程序,随意输入10个数,按下回车键执行结果,此时就可以看到排序后的结果了。以上就是c语言冒泡排序程序的演示:

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-05-20
#include<stdio.h>
#include<string.h>
void maopaofa(char x[],int y)
{
int i;
int j;
char t;
for(i=0;i<y;i++)
for(j=0;j<y-1;j++)
{
if(x[j]>x[j+1])
{
t=x[j];
x[j]=x[j+1];
x[j+1]=t;
}
}
}
int main()
{
char a[100];
int i;
gets(a);
int l=strlen(a);
maopaofa(a,l);
for(i=0;i<l;i++)
{
printf("%c",a[i]);
}
return 0;
}本回答被网友采纳
第2个回答  2008-12-10
#include "stdio.h"
main()
{
int a[10],i,j,t;
for (i=0;i<10;i++)
scanf("%d",&a[i]);

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

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

}
第3个回答  2013-03-17
char a[] = "6931280457", c;
int i, j;
for(i = 0; i < 10; ++i)
for(j = 9; j > i; --j)
if(a[j] < a[i])
{c = a[i]; a[i] = a[j]; a[j] = c;}
还不错,希望你采纳。
第4个回答  2013-03-11
#include "stdio.h"
void sort(char *d,int n)
{
int i,j;
char temp;
for(i=0;i<n-1;i++)
{
for(j=n-1;j>i;j--)
{
if(d[j]<d[j-1])
{
temp=d[j];d[j]=d[j-1];d[j-1]=temp;
}
}
}
}
int main()
{
char d[100];
int i;
for(i=0;i<10;i++)
scanf("%c",&d[i]);
sort(d,10);
for(i=0;i<10;i++)
printf("%c",d[i]);
}
相似回答