C语言字符串中的数字提取与排序

发布时间:2024-08-30 14:37:36 作者:小樊
来源:亿速云 阅读:78

在C语言中,可以使用以下方法从字符串中提取数字并进行排序:

  1. 遍历字符串,找到数字字符。
  2. 将找到的数字字符转换为整数。
  3. 将整数存储在一个数组中。
  4. 对数组进行排序。
  5. 输出排序后的数组。

以下是一个示例代码:

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

int compare(const void *a, const void *b) {
    return (*(int *)a - *(int *)b);
}

int main() {
    char str[] = "abc123def456ghi789";
    int numbers[100]; // 假设字符串中最多有100个数字
    int count = 0;

    for (int i = 0; i < strlen(str); i++) {
        if (isdigit(str[i])) {
            int num = str[i] - '0';
            numbers[count++] = num;
        }
    }

    qsort(numbers, count, sizeof(int), compare);

    printf("Sorted numbers: ");
    for (int i = 0; i< count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("\n");

    return 0;
}

这个程序首先定义了一个名为compare的比较函数,用于对整数数组进行排序。然后,它遍历字符串str,检查每个字符是否为数字。如果是数字,它将字符转换为整数并将其添加到numbers数组中。接下来,使用qsort函数对数组进行排序,并输出排序后的数组。

推荐阅读:
  1. 很多高校将c语言作为编程入门语言的原因
  2. C语言是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言

上一篇:C语言字符串中的最长不含重复字符的子串

下一篇:C语言字符串中的URL解析与重构

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》