题目描述:
解题思路:
题目解读:
给定字符串长度和内容,比较每个字符,找到最小字符并放在首位。输出示例2中,acac的运行结果是aacc,示例4中aaba的运行结果是aaab。显然是从后往前遍历,将最小字符放在首位。
代码实现:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void Solve() {
int n,min;
scanf("%d", &n);
char string[n];
scanf("%s", &string);
min = string[n - 1];
int flg = n - 1;
for (int i = n-1; i >= 0; --i) {
if (string[i] < min) {
min = string[i];
flg = i;
}
}
printf("%c", min);
for (int i = 0; i < n; ++i) {
if (i!=flg) {
printf("%c", string[i]);
}
}
printf("\n");
return;
}
int main() {
int t;
scanf("%d", &t);
while (t--) Solve();
return 0;
}
遇到的错误: