C语言:,用"选择法"对输入的10个字符按由大到小顺序排列

写一个函数,用"选择法"对输入的10个字符按由大到小顺序排列.要求:在主函数中完成字符的输入,然后调用"选择法"排序函数进行字符的降序排序,然后再在主函数中完成字符的输出. 求大神求解

#include<stdio.h>

int main(void)

{

char a[11];

int i,j;

int max;

int t;

    printf("请输入10个字符:\n");

gets(a);

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

{

max = i;

for(j = i+1; j < 10; j++)

if(a[max] < a[j])

max = j;

t = a[max];

a[max] = a[i];

a[i] = t;




}

puts(a);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-05-23
#include<stdio.h>

void sortArr(char a[], int n)
{
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(a[i]<a[j])
{
char temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}

int main()
{
char str[10];
for(int i=0;i<10;i++)
{
scanf("%c",&str[i]);
}

sortArr(str,10);

for(int i=0;i<10;i++)
{
printf("%c ",str[i]);
}

}本回答被网友采纳
相似回答