输入一个字符串,包括数字字母符号,可以为空
输出数字,若有字符则输出0
示例:
输入+123456
11sfsf46
输出:
123456
0
#include<iostream>
#include<string>
using namespace std;
int main()
{
int p = 0;
string s;
while (cin >> s)
{
for (int i = 0; i < s.size(); i++)
{
if ('0' < s[i] && s[i] < '9' || s[i] == '+' || s[i] == '-')
{
continue;
}
else
{
p = 1;
}
}
if (p == 0)
{
for (int i = 0; i < s.size(); i++)
{
switch (s[i])
{
case '1':
cout << 1;
break;
case '2':
cout << 2;
break;
case '3':
cout << 3;
break;
case '4':
cout << 4;
break;
case '5':
cout << 5;
break;
case '6':
cout << 6;
break;
case '7':
cout << 7;
break;
case '8':
cout << 8;
break;
case '9':
cout << 9;
case '0':
cout << 0;
break;
case ' ':
cout << " ";
default:
break;
}
}
}
else
{
cout << 0;
}
p=0;
cout << endl;
}
}
重点是如何判断字符是数字以及对字符如何对数字进行转换。
我用的是直接输出数字,简单粗暴,其实还有一种方法就是根据asc值进行转换,建议读者根据这个思想写写代码

&spm=1001.2101.3001.5002&articleId=106603074&d=1&t=3&u=834f94f6314b4ea9b2152e184ae8deea)
374

被折叠的 条评论
为什么被折叠?



