c语言编写函数,将一个字符串进行降序排序, 并将排序后的字符串转换成整数数组。在main 函数中验证。要求:宇符串在main函数中由键 盘输入

编写函数,将一个字符串进行降序排序, 并将排序后的字符串转换成整数数组。在main 函数中验证。要求:宇符串在main函数中由键 盘输入

我不想直接给你答案,给你思路你可以自己实现以下 。
我实现类一个字符串降序排序得代码以及字符串转整数得代码,你参考一下,试着实现逻辑:
然后贴出来你的代码,如果有问题帮你看~

img

#include <algorithm>
#include <string>
using namespace std;
int Comp(const void* p1, const void* p2)
{
    return strcmp((char*)p2, (char*)p1);
}
int main()
{
    char a[3][10] = { "ccc","aaa" ,"ddd"};
    qsort(a, 3, sizeof(a[0]), Comp);

    printf("%s %s %s \n", a[0], a[1], a[2]);
    const char* str = "123";
    int d = atoi(str);
    printf("%d \n", d);
    return 0;
}

代码效果如下,可以的话请点击采纳答案。

img

采用任意一个排序算法即可实现,字符串的比较在c语言里面有相关的函数,最简单的可以采用冒泡排序

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

void str(char t[],int num[])
{
    int len=strlen(t);
    int j,i;
    for(j=0; j<len-1; j++)
    {
        for(i=0; i<len-j-1; i++)
        {
            if(t[i]<t[i+1])
            {
                char tem=t[i];
                t[i]=t[i+1];
                t[i+1]=tem;
            }
        }
    }
    for(j=0; j<len; j++)
    {
        num[j]=t[j];
    }
}
int main()
{
    char t[150];
    int num[150];
    gets(t);
    int len=strlen(t),j;
    str(t,num);
    printf("\n字符串降序排序:\n");
    for(j=0; j<len; j++)
    {
        printf("%c ",t[j]);
    }
    printf("\n字排序后的字符串转换成整数数组:\n");
    for(j=0; j<len; j++)
    {
        printf("%d ",num[j]);
    }
    return 1;
}

将一个字符串进行降序排序, 并将排序后的字符串转换成整数数组
主要可以分为两部分部分来实现
第一部分:首先就是对字符串进行降序排序 这个可以用strcmp去比较 比较之后借助qsort排序函数进行排序就行了
第二部分:其次就是排序后如何将字符串转换成整数数组的问题,怎么转换呢?在c语言中,可以使用atoi()函数将字符串转化成整数型并输出,输出的时候进行存入数组就行了。

希望对题主有所帮助,可以的话,帮忙点个采纳!