写一函数,用选择法对输入的10个字符按从小到大顺序排列. 实在不会写,麻烦大家帮帮忙!

2020-05-30 社会 96阅读

#include

void sort(char *a)                            //排序

{

int i,j,x;

char c;


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

{


for(j=i+1,x=i;j<10;j++)                        //找出a[i]及其后面字符中最小的;

{

if(a[x]>a[j]) x=j;

}


if(x!=i) {c=a[i];a[i]=a[x];a[x]=c;}           //如果a[i]不是最小的,将a[i]与找到的最小字符交换

}

}



int main()

{

char a[10],*p=a;

int i;

printf("输入10个字符(以空格分隔):\n");

for(i=0;i<10;i++)                                                                  //输入

{

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

if(i<9) getchar();

}


sort(p);


printf("排序后的10个字符:\n");                     //输出

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

printf("%c ",a[i]);

return 0;

}


声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com