C语言:从键盘输入一字符串(个数不大于30),剔除其中的数字字符后输出结果(要求使用函数与指针变量)

并且如果输入的全部是数字字符,则输出为空

第1个回答  2013-07-02
1 #include <stdio.h>
2 int main(int argc, char **argv)
3 {
4 char myStr[30] = {0};
5 size_t i, pos = 0;
6 printf("Input string:");
7 scanf("%s", myStr);

9 for(i = 0; i < 30; ++i)
10 {
11 if(*(myStr + i) == '\0')
12 break;
13 if(*(myStr + i) >= '0' && *(myStr + i) <= '9')
14 {
15 ++pos;
16 }
17 else
18 {
19 *(myStr + i - pos) = *(myStr + i);
20 }
21 }
22 *(myStr + i - pos) = '\0';
23 printf("Output string:%s", myStr);
24 }
第2个回答  2013-07-03
#include <iostream>
#include <cctype>
#incldue <string>
using namespace std;
int main()
{
string s;
cout<<"请输入:"<<endl;
cin>>s;
for(string::size_type index=0;index!=s.size();++index)
{
if(isalpha(s[index]))
{
cout<<s[index];
}
}
cout<<endl;
return 0;
}本回答被提问者和网友采纳