題目?jī)?nèi)容:
編程:從鍵盤上輸入一個(gè)含有數(shù)字的字符串,然后在“原字符串”中刪除其中的數(shù)字。如輸入的字符串為“ab12cd345e”,則處理后的字符串為“abcde”。程序中只能定義一個(gè)數(shù)組。
提示:所謂刪除就是將后面的非數(shù)字字符前移,將數(shù)字覆蓋掉。要注意字符串結(jié)束符(即空字符)的位置。
注意:當(dāng)依次訪問字符串中的字符時(shí),不要用數(shù)組大小構(gòu)成循環(huán)條件,要用空字符構(gòu)成循環(huán)條件,判別當(dāng)前字符是否是空字符,若是則結(jié)束循環(huán),否則繼續(xù)循環(huán)。舉例說明如下:
#include <stdio.h>
int main()
{
? ? char a[20]="abc";
? ? int i;
? ??for(i=0;a[i]!='\0';i++)? //不能寫成for(i=0;i<20;i++),因?yàn)樽址]有使用全部的數(shù)組元素。
? ? ? ? printf("%c",a[i]);
? ? return 0;? ? ??
}
輸入格式:
gets
輸出格式:
puts
輸入樣例:
ab12cd345e
輸出樣例:
abcde
時(shí)間限制:500ms內(nèi)存限制文章來源:http://www.zghlxwxcb.cn/news/detail-757594.html
#include <stdio.h>
#include <ctype.h> //引入ctype.h頭文件,用于判斷字符是否為數(shù)字
int main()
{
char str[100]; //定義一個(gè)字符數(shù)組,用于存儲(chǔ)輸入的字符串
int i, j; //定義兩個(gè)變量,用于循環(huán)遍歷字符串
gets(str); //使用gets函數(shù)從鍵盤讀取一個(gè)字符串,存入str數(shù)組中
for (i = 0, j = 0; str[i] != '\0'; i++) //使用for循環(huán)遍歷字符串,直到遇到空字符結(jié)束
{
if (!isdigit(str[i])) //使用isdigit函數(shù)判斷當(dāng)前字符是否為數(shù)字,如果不是,則執(zhí)行以下操作
{
str[j] = str[i]; //將當(dāng)前字符復(fù)制到str數(shù)組的j位置上
j++; //將j加一,指向下一個(gè)位置
}
//如果當(dāng)前字符是數(shù)字,則不做任何操作,繼續(xù)循環(huán)
}
str[j] = '\0'; //在j位置上添加空字符,表示字符串的結(jié)束
puts(str); //使用puts函數(shù)輸出處理后的字符串
return 0;
}
:32000kb文章來源地址http://www.zghlxwxcb.cn/news/detail-757594.html
到了這里,關(guān)于C語言程序設(shè)計(jì):刪除字符串中的數(shù)字的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!