#define _CRT_SECURE_NO_WARNINGS#include <stdlib.h>#include <string.h>#include <stdio.h>/**1<=s.length<=1000AkleBiCeilDkleBiCeilDAkleiCeilDABkleieilDABCkleieilABCD*///https://www.nowcoder.com/question/next?pid=1725829&qid=44802&tid=6472682/**算法基礎-字符移位小Q最近遇到了一個難題:把一個字符串的大寫字母放到字符串的后面,各個字符的相對位置不變,且不能申請額外的空間。你能幫幫小Q嗎?輸入描述:輸入數據有多組,每組包含一個字符串s,且保證:1<=s.length<=1000.輸出描述:對于每組數據,輸出移位后的字符串。輸入例子:AkleBiCeilD輸出例子:kleieilABCD*/int main(){	char line[1001] = {0};	while (scanf("%s", line) != EOF)	{		//PRintf("%s/n", line);		int len = strlen(line);		int Upper_endpos = len-1;		for (int m = len-1; m >0;m--)		{			char hehe = line[m];			if (hehe >= 'A' && hehe <= 'Z')			{				Upper_endpos = m;				break;			}		}		for (int i = 0; i < len; )		{			char hehe = line[i];			if (hehe >= 'A' && hehe <= 'Z')			{				//小寫				for (int j = 0; j < len - i - 1; j++)				{					char data = line[i + j];					line[i + j] = line[i + j+1];					line[i + j+1] = data;				}				Upper_endpos--;			}			if (i >Upper_endpos)			{				break;			}			hehe = line[i];			if (hehe >= 'a' && hehe <= 'z')			{				i++;			}		}		printf("%s/n", line);	}	return 0;}
新聞熱點
疑難解答