编写程序,输⼊⼀个字符串,然后对字符串的内容(字符)进⾏升序排序,最后输出排序后的新字符串。
• 测试⽤例
• 输⼊:cfa
• 输出:acf
使用的冒泡算法,有不理解的地方可以说,我给你解释
#include <stdio.h>
#include <stdlib.h>
int main()
{
char input[30];
printf("输入字符串,按Enter结束:\n");
scanf("%s",input);
int i=0;
while(input[i]!='\0')
{
i++;
}
char temp;
for(int t=0;t<i-1;i--)
{
for(int j=0;j<i-1;j++)
{
if(input[j]>input[j+1])
{
temp=input[j];
input[j]=input[j+1];
input[j+1]=temp;
}
}
}
printf("%s\n",input);
return 0;
}
供参考:
#include <stdio.h>
#include <string.h>
int main()
{
int i, j, len;
char str[128], t;
gets(str);
len = strlen(str);
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (str[j] > str[j + 1]) {
t = str[j];
str[j] = str[j + 1];
str[j + 1] = t;
}
}
}
puts(str);
return 0;
}
#include <stdio.h>
#include <string.h>
void sort(char* s, int n) {
int i = 0, j = 0, index = 0;
char c;
for (; i < n; i++) {
c = s[i];
index = i;
for (j = i + 1; j < n; j++) {
if (s[j] < c) {
index = j;
c = s[j];
}
}
if (index != i) {
c = s[index];
s[index] = s[i];
s[i] = c;
}
}
}
int main() {
char s[20];
gets(s);
sort(s, strlen(s));
puts(s);
return 0;
}