字符串排序问题

#include 
#include 
#include 
#include 
typedef struct Node
{
    char key;
    int num;
}Node,*NodePtr;
int cmp(const void*a,const void*b)
{
    NodePtr pa = (NodePtr)a;
    NodePtr pb = (NodePtr)b;
    char ca = toupper(pa->key);
    char cb = toupper(pb->key);
    if(ca==cb)//如果两个元素相等就比较他们的下标即先后次序
    {
        return pa->num - pb->num;
    }
    else
    {
        return ca - cb;
    }
}
int main(int argc, char const *argv[])
{
    char str[1000];//,buf[1000];
    while(fgets(str,999,stdin)!=NULL)
    {
        int i,j;
        Node arr[strlen(str)];
        for(i=0,j=0;i

————————————————————————————————

#include
#include
#include
int main(){
    char a[1000];
    char b[1000];
    int count[26];
    int index;char temp;
    while(gets(a)){
        memset(count,0,sizeof(int)*26);
        for(int i=0;a[i]!='\0';i++){
            if(isalpha(a[i])){
                temp=tolower(a[i]);
                index=temp-'a';
                b[count[index]*26+index]=a[i];
                count[index]++;
            }
        }
        int j=0;
        for(int i=0;i<26;i++){
            for(int k=0;k

————————————————————————————————

#include
#include
#include
int main(){
    char a[500];
    char b[500];
    int count[26];
    int index;char temp;
    while(gets(a)){
        memset(count,0,sizeof(int)*26);
        for(int i=0;a[i]!='\0';i++){
            if(isalpha(a[i])){
                temp=tolower(a[i]);
                index=temp-'a';
                b[count[index]*26+index]=a[i];
                count[index]++;
            }
        }
        int j=0;
        for(int i=0;i<26;i++){
            for(int k=0;k

https://www.nowcoder.com/practice/d9aa3894d3aa4887843a85d26daa4437?tpId=61&&tqId=29548&rp=1&ru=/activity/oj&qru=/ta/pku-kaoyan/question-ranking

你可能感兴趣的:(字符串排序问题)