您好,登錄后才能下訂單哦!
在C語言中,可以使用以下方法從字符串中提取數字并進行排序:
以下是一個示例代碼:
#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
函數對數組進行排序,并輸出排序后的數組。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。