排序问题
从键盘上任意输入三个字符,按照从小到大排序,样例输入:a,6,K
样例输出:6 K a 这是一个简单的C语言问题,首先需要输入三个字符,然后对它们进行排序。请注意,在ASCII编码中,数字字符的值小于大写字母,大写字母的值小于小写字母。所以你的输入样例的输出应该是 "6, K, a"。
这是一个使用C语言实现的解决方案:
#include <stdio.h>
void sort(char arr[], int n) {
char temp;
for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {
if(arr < arr) {
temp = arr;
arr = arr;
arr = temp;
}
}
}
}
int main() {
char arr;
printf("请输入三个字符:\n");
for(int i = 0; i < 3; i++) {
scanf(" %c", &arr); // 注意前面有一个空格,这样scanf会自动忽略前面的空白符(包括'\n')
}
sort(arr, 3);
printf("从小到大排序后的字符是:\n");
for(int i = 0; i < 3; i++) {
printf("%c ", arr);
}
return 0;
}
运行此代码,用户被提示输入三个字符,然后程序会对字符进行从小到大的排序,并将结果输出。 楼上的代码存在一些问题,没有按照正确的格式进行输入,下面是修改后的代码:
#include <stdio.h>
void sort(char arr[], int n) {
char temp;
for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {
if(arr < arr) {
temp = arr;
arr = arr;
arr = temp;
}
}
}
}
int main() {
char arr;
printf("请输入三个字符:\n");
scanf("%c,%c,%c", &arr, &arr, &arr);
sort(arr, 3);
printf("从小到大排序后的字符是:\n");
for(int i = 0; i < 3; i++) {
printf("%c ", arr);
}
return 0;
}
python
chars = input().split(',') # 获取输入的三个字符
sorted_chars = sorted(chars) # 对三个字符进行排序
print(' '.join(sorted_chars)) # 输出结果
页:
[1]