游客 Signup | Login
中文 | En

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;
			}
		}
	}
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题