题解 | #字符串排序#

字符串排序

https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

#include <stdio.h>
#include <math.h>
#include <string.h>
float getCharValue(char ch, double v)
{
    int baseValue = 'z' - 'A' + 1;
    int beginValue = 'A' - 1;
    return ((ch - beginValue) / (1.0*baseValue)) * v;
}

typedef struct {
    short index;
    double value;
}ORDER_NODE;


int main() {
    char ch = 0;
    ORDER_NODE orderValue[1000] = {0};
    char words[2000][128] = {0};
    int num = 0;
    int indexWord = 0;
    int indexChar = 0;
    double CharValue = 0;
    scanf("%d\n",&num);
    for(int i = 0; i < 100; i++)
    {
        orderValue[i].index = i;
    }
    while(EOF != (ch = getchar()))
    {
        if(ch == '\n' )
        {
            indexWord++;
            indexChar = 0;
        }else{
            //CharValue = getCharValue(ch,pow(0.1,indexChar+1));
           // orderValue[indexWord].value += CharValue;
            words[indexWord][indexChar++] = ch;
        }
    }
    ORDER_NODE temp;
    char tempW[101] = {0};
    for(int i = 0; i < num; i++)
    {
        for(int j = i; j < num; j++)
        {
            // if(orderValue[i].value > orderValue[j].value)
            // {
            //     temp = orderValue[i];
            //     orderValue[i] = orderValue[j];
            //     orderValue[j] = temp;
            // }
            if(strcmp(words[i], words[j]) > 0)
            {
                strcpy(tempW,words[i]);
                strcpy(words[i],words[j]);
                strcpy(words[j], tempW);
            }
        }
    }
    for(int i = 0; i < num; i++)
    {
        printf("%s\n",words[i]);
    }

    return 0;
}

全部评论

相关推荐

牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
11-08 17:36
诺瓦科技_HR
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:46
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务