1220 - C语言8.23
编写一个函数,使用“起泡法”(冒泡排序)对输入的n个字符按从小到大顺序排列。并在主函数中输出排序完毕的字符串。
Input
一行字符,可能包含空格。保证字符串的长度不超过100。
Output
输出从小到大排序完毕的字符串。
请注意行尾输出换行。
Examples
Input
This is not a program
Output
Taaghiimnooprrsst
Solution C
#include<stdio.h> #include<string.h> #include<stdlib.h> void mypai(char a[],int n); int main() { char a[101]; gets(a); if(strlen(a)>100) exit(0); mypai(a,strlen(a)); puts(""); return 0; } void mypai(char a[],int n) { int i,j; char t; for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } for(i=0;i<n;i++) { printf("%c",a[i]); } return 0; }
Solution C++
#include <stdio.h> #include <string.h> int main() { void sort(char str[], int len); char str[101]; gets(str); sort(str, strlen(str)); puts(str); return 0; } void sort(char str[], int len) { int i, j; char temp; for (i = 0;i < len;i++) { for (j = 0;j + 1 < len - i;j++) { if (str[j] > str[j + 1]) { temp = str[j]; str[j] = str[j + 1]; str[j + 1] = temp; } } } }