C语言 将字符串中数字字符全部删除
生活随笔
收集整理的這篇文章主要介紹了
C语言 将字符串中数字字符全部删除
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
不改變原有數(shù)組刪除數(shù)字字符:
#include <stdio.h> #define LENGTH 128void del_digit(const char str[]) {int i = 0;while (str[i]) {if (str[i] < '0' || str[i] > '9') {putchar(str[i++]);}else {i++;}}}int main() {char str[LENGTH];puts("請輸入字符串:");scanf("%s", str);puts("刪除數(shù)字字符得到:");del_digit(str);return 0; }不使用指針刪除數(shù)字字符(改變原有數(shù)組)
#include <stdio.h> #define LENGTH 128void del_digit(char[], char[]); void exchange_of_array(char[], char[]); void put_string(const char[]);void del_digit(char str1[], char str2[]) {int i = 0;int j = 0;while (str1[i]) {if (str1[i] < '0' || str1[i] > '9') {str2[j] = str1[i];j++;i++;} else {i++;}}exchange_of_array(str1, str2); }void exchange_of_array(char str1[], char str2[]) {int i = 0;int j = 0;while (str1[j]) {str1[j] = '\0';j++;}while (str2[i]) {str1[i] = str2[i];i++;}put_string(str1); }void put_string(const char str1[]) {int i = 0;while (str1[i]) {putchar(str1[i++]);} }int main(){char str1[LENGTH];char str2[LENGTH] = "";puts("請輸入字符串:");scanf("%s", str1);puts("刪除數(shù)字字符得到:");del_digit(str1, str2);return 0; }使用指針刪除數(shù)字字符(改變原有數(shù)組)
#include <stdio.h> #define LENGTH 128void del_digit(char str[]){int i;int j;for (i = 0; *(str + i); i++){if ((*(str + i) >= '0')&&(*(str + i) <= '9')){for(j = i; *(str + j); j++){*(str + j) = *(str + j + 1);}i--;}}printf("刪除數(shù)字字符得到:%s\n", str); }int main() {char str[LENGTH];puts("請輸入字符串:");scanf("%s", str);del_digit(str); }運行結(jié)果:
注:
中間不能添加空格字符,否則空格后的字符無法顯示。
總結(jié)
以上是生活随笔為你收集整理的C语言 将字符串中数字字符全部删除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言 大小写字符转换
- 下一篇: C语言 遍历字符串数组