タイトル説明
長さが200以下の文字列を入力し、文字の昇順で並べ替えた文字列を出力します。
入る
テストデータには複数のグループがあります。文字列を入力してください。
出力
入力のグループごとに、処理された結果を出力します。
サンプル入力コピー
天琴
サンプル出力コピー
aiinnqt
促す
入力文字列にスペースが含まれる場合があることに注意してください。
アイデア:文字配列の内部を直接トラバースします。コードは「ダブルポインターアルゴリズム」に似ています。
ACコード
#include<cstdio>
#include<cstring>
using namespace std;
char str[200];
int main()
{
while (gets(str) != NULL)
{
for (int i = 0;i < strlen(str) - 1;i++)
{
for (int j = i + 1;j < strlen(str);j++)
{
if (str[i] > str[j])
{
char temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
}
puts(str);
memset(str,0,sizeof str);
}
return 0;
}
getはスペースを無視して行ごとに読み込み、scanfはスペースを読み取ると読み取りを停止するため、次のコードを上書きできないことに注意してください。
#include<cstdio>
#include<cstring>
using namespace std;
char str[200];
int main()
{
while (scanf("%s",str) != EOF)
{
for (int i = 0;i < strlen(str) - 1;i++)
{
for (int j = i + 1;j < strlen(str);j++)
{
if (str[i] > str[j])
{
char temp = str[j];
str[j] = str[i];
str[i] = temp;
}
}
}
for (int i = 0;i < strlen(str);i++) printf("%c",str[i]);
memset(str,0,sizeof str);
}
return 0;
}