#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void change(char a[200][200])
{ char b[200][200];
int c[200]={0};
int line=sizeof(a)/sizeof(a[0]);
int flag=0;
for(int i=0;i<line;i++)
{ strcpy(b[i],a[i]);
for(int j=0;j<strlen(a[i]);j++)
{
if(a[i][j]<'A'||a[i][j]>'Z')
{ c[i]==1;
break;
}}}
for(int i=0;i<line;i++)
{
if(c[i]==0)
{
for(int j=i+1;j<line;j++)
{
if(c[j]==0)
{ char temp[200];
if(strcmp(b[i],b[j]>0))
{
strcpy(temp,b[i]);
strcpy(b[i],b[j]);
strcpy(b[j],temp);
}
}
}
}
}
for(int i=0;i<line-1;i++)
printf("%s ",b[i]);
printf("%s\n",b[line-1]);
}
void main()
{
int cnt;
scanf("%d",&cnt);
for(int i=0;i<cnt;i++)
{ int j=0;
char a[200][200];
while(gets(a[j]))
{
if(strcmp(a[j],"")==0||strcmp(a[j],"\n")==0)
{
break;
}
j++;
}
printf("case #%d:\n");
change(a[200][200]);
}
}
uj5u.com熱心網友回復:
給定一個句子,要求將其字符重新排序輸出,其中的英文字母按照字母表順序輸出,其他字符的順序和位置不變,輸出后的單詞長度與原句子相同。輸入格式
第 1 行:一個整數 T (1≤T≤10) 為問題數。
第 2 ~T+1 行,每組測驗資料一行,包括一個字串(長度最大為 200),由英文字母(均為大寫字母)及其他字符組成,由空格分開的連續字串視作一個單詞。
輸出格式
對于每個問題,輸出一行問題的編號(0 開始編號,格式:case #0: 等),然后在一行中輸出重新排序后的字串。
樣例
Input
3
THE BREAD IS SOLD AT $10 PER POUND
500 DONGCHUAN ROAD EAST CHINA NORMAL UNIVERSITY SHANGHAI CHINA 200241
#9724 $500 1234
Output
case #0:
AAB DDDEE EH ILNO OP $10 PRR SSTTU
case #1:
500 AAAAAAAAC CCDD EEGG HHHHH IIIIIL MNNNNNNNOO ORRRSSST TUUVY 200241
case #2:
#9724 $500 1234
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/107151.html
標籤:C語言
上一篇:C語言結構體
下一篇:c++學生資訊管理系統
