在C語言中,可以使用循環和條件判斷語句來刪除數字字符。下面是一個示例程序:
#include <stdio.h>
#include <string.h>
void deleteDigits(char* str) {
int len = strlen(str);
int i, j;
for (i = 0, j = 0; i < len; i++) {
if (str[i] < '0' || str[i] > '9') {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[100];
printf("輸入一個字符串:");
fgets(str, sizeof(str), stdin);
// 刪除數字字符
deleteDigits(str);
printf("刪除數字字符后的字符串:%s\n", str);
return 0;
}
在上面的示例程序中,deleteDigits
函數用于刪除數字字符。它使用兩個指針 i
和 j
,其中 i
指向當前字符,j
指向新字符串中的位置。如果當前字符不是數字字符,則將其復制到新字符串中,并將 j
增加1。最后,將新字符串的末尾設置為 \0
結束符。
在 main
函數中,首先通過 fgets
函數從標準輸入中讀取字符串。然后調用 deleteDigits
函數刪除數字字符,并將結果打印出來。
注意:上述示例程序只能刪除字符串中的數字字符,而不能刪除其他類型的數字(例如整數、浮點數等)。如果需要處理其他類型的數字,請使用相應的函數庫(例如 stdlib.h
)。