C语言如何进行分类和排序

请问C语言如何将字符串类型的数据集合进行分类和排序,就是比如把一个字符串数组先进性纯数字和非纯数字进行分类,再将两个分类分别进行正序排序,我能单独的进行分类和单独的排序但把二者相结合却总是报错

进行分类成两个数组, 对这两个数组单独排序就行了
你题目的解答代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void sort(char *a[10],int n)
{
    int i,j;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
            if(strcmp(a[j] , a[j+1])>0)
            {
                char *t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
}

int main(){
    char *a[10]={"56","a7","5c","q7","79","1f","28","ad","zg","47"};
    char *b[10];
    char *c[10];
    int i,j,bl=0,cl=0;
    for(i=0;i<10;i++)
    {
        for (j = 0; a[i][j]!='\0'; j++)
            if (a[i][j] < '0' || a[i][j] > '9')
                break;
        if (a[i][j]=='\0')
            b[bl++] = a[i];
        else
            c[cl++] = a[i];
    }
    printf("纯数字分类排序:");
    sort(b, bl);
    for(i=0;i<bl;i++)
        printf("%s ",b[i]);
    printf("\n");
    printf("非纯数字分类排序:");
    sort(c, cl);
    for(i=0;i<cl;i++)
        printf("%s ",c[i]);
    printf("\n");
}

img

如有帮助,望采纳!谢谢!