c_华为机考_100分的第2题_字符串的ascii码值小到大排序,输出ascii码值排序的第k个元素, 在字符串里的索引

Posted Arsenal_张文治

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_华为机考_100分的第2题_字符串的ascii码值小到大排序,输出ascii码值排序的第k个元素, 在字符串里的索引相关的知识,希望对你有一定的参考价值。

相似题目1:

本题要求:
编写程序,将给定字符串中的字符,按照ASCII码顺序从小到大排序后输出。

输入格式:
输入是一个以回车结束的非空字符串(少于80个字符)。

输出格式:
输出排序后的结果字符串。

输入样例:
ebE?9
输出样例:
9?Ebe
#include <stdio.h>
#include <string.h>

int main()
{
    char s[81],t;
    int i,j,sum;
    gets(s);
    sum=strlen(s);
    for(i=0; i<sum-1; i++)
        for(j=0; j<sum-i-1; j++)
            if(s[j+1]<=s[j])
            {
                t=s[j];
                s[j]=s[j+1];
                s[j+1]=t;
            }
    puts(s);
    return 0;
}

相似题目2:

任意输入一个字符串,将其中的字符按照ASCII码值从小到大重新排序
例如:
给出:dbca
结果:abcd
// 法2: 输入固定死的
#include <stdio.h>
#include <string.h>

//记录字符出现的次数
void CharSort(int* array,char* str,int size)
{
    int i = 0;
    for(i = 0; i < size; i++)
    {
        array[str[i]]++;//字符出现的次数
    }
}
void Print(int* array, int size)
{
    int i = 0;
    for(i = 0; i < 255; i++)
    {
        while(array[i]--)
            printf("%c",i);

    }
    printf("\\n");

}

int main()
{
    int array1[255]={0};
    char* str = "dbca";
    int size = strlen(str);
    CharSort(array1,str,size);
    Print(array1,size);
    return 0;
}

 

以上是关于c_华为机考_100分的第2题_字符串的ascii码值小到大排序,输出ascii码值排序的第k个元素, 在字符串里的索引的主要内容,如果未能解决你的问题,请参考以下文章

华为机考题 004字符串分割

两道c语言题目求解

04_字符串

04_字符串

华为OD机试面试宝典,JS题解大纲,200+题目等你来战

用Java解决华为OD机试考题,目标300+真题,清单奉上,祝你上岸