ASCII码值从小到大排序--跨专业渣渣准备机试系列(3)!!!

#include<stdio.h>
#include<string.h>
#define max 100//题目中对字符串长度没有做要求进行宏定义便于修改 
void charsort(char* str)//排序函数 
{
/*根据ASCII码的大小进行冒泡排序*/
int longth=strlen(str);
char tmp;
int i,j;
for(i=0;i<longth-1;i++)//冒泡排序主体 
{
for(j=0;j<longth-1-i;j++)
{
if(str[j]>str[j+1])
{
tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}

}
int main()
{
char s[max];
printf("请输入一个长度小于%d的字串:",max);
gets(s);
printf("原字符串:");
puts(s);
charsort(s);
printf("新字符串:"); 
puts(s);
return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下代码实现: ```python a, b, c = input().split() # 从键盘输入三个字符 a, b, c = ord(a), ord(b), ord(c) # 将字符转换为ascii码 lst = [a, b, c] # 将ascii码存入列表中 lst.sort() # 对列表进行排序 print(lst[], lst[1], lst[2]) # 输出排序后的ascii码,字符之间间隔一个空格 ``` 例如,输入字符为 "c a b",则输出为: ``` 97 98 99 ``` ### 回答2: 这道题需要用到字符串和ASCII码的知识,还有一些基础的编程技巧。首先,我们需要用到input()函数来从键盘输入三个字符,将其存储在三个变量中。然后,我们可以用ord()函数将字符转换成ASCII码,并将其存储在一个列表中。接着,我们可以使用sorted()函数对列表排序,并使用join()函数将排序后的ASCII码转换成字符,最终输出排序后的三个字符。 下面是一种可能的实现方式: ```python # 从键盘输入三个字符 char1 = input("请输入第一个字符:") char2 = input("请输入第二个字符:") char3 = input("请输入第三个字符:") # 将字符转换成ASCII码并存储在一个列表中 ascii_list = [ord(char1), ord(char2), ord(char3)] # 对列表进行排序 sorted_asciis = sorted(ascii_list) # 将排序后的ASCII码转换成字符,并将三个字符使用空格分隔输出 sorted_chars = [chr(ascii) for ascii in sorted_asciis] print(' '.join(sorted_chars)) ``` 例如,如果我们输入字符"a"、"B"和"3",程序的输出应该为:"3 B a"。这是因为字符"3"的ASCII码最小为51,"B"的ASCII码为66,"a"的ASCII码为97,而51在ASCII码表中最小,因此排在第一位,接着是66和97。三个字符之间用一个空格分隔。 ### 回答3: 这是一道编程题,需要用编程语言来解决。以下是Python语言的解答示例: ```python # 从键盘输入三个字符,并将每个字符的ascii码存储在一个列表中 lst = [] for i in range(3): c = input("请输入一个字符:") lst.append(ord(c)) # 对列表进行排序从小到大) lst.sort() # 将排序好的ascii码转换成对应的字符并输出(字符之间间隔一个空格) result = "" for i in lst: result += chr(i) + " " print(result) ``` 以上代码的思路为:先从键盘输入三个字符,然后遍历每个字符并将其ascii码存储在一个列表中。接着使用Python内置的sort函数对列表进行排序从小到大)。最后再将排序好的每个ascii码转换成对应的字符,并用空格将它们连接起来输出到屏幕上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值