一、知识点
char的最大值是127,最小值是-128
自己填充的char型数组,以字符串打印,打印之前要手动在末尾加上 '\0'
二、题目
1、描述
Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过代码解决。
Lily使用的图片使用字符"A"到"Z"、"a"到"z"、"0"到"9"表示。
2、数据范围
每组输入的字符串长度满足 1<=n<=1000
3、输入
一行,一个字符串
4、输出
输出字符按ASCII码从小到大排序的字符串
三、自己的思路
1、遍历找到字符串中ASCII码最小的字符,将该字符添加到新的char型数组中,原字符串中最小值调整为127
2、不断重复1,直到原字符串中的最小值为127
3、在新字符串末尾添加'\0',打印
四、自己写的代码
#include<stdio.h>
int main() {
int i = 0, j = 0;
char min;
char line[1001];
char sort[1001];
scanf("%s", line);
while (1) {
min = 127;
i = 0;
while (line[i] != '\0') {
if (line[i] < min) {
min = line[i];
}
i++;
}
if (min == 127) {
sort[j] = '\0';
break;
}
for (i = 0; i < 1000; i++) {
if (line[i] == min) {
sort[j] = line[i];
j++;
line[i] = 127;
i = 1000;
}
}
}
printf("%s\n", sort);
return 0;
}