题目要求:
程序填空(C++),输入一数字型字符串自动转换成对应的数字,如输入“123”转成数字123,输入“-123”转成-123
逻辑分析:
将一个数字字符串转化成数字,有两种方式
1.通过语言本身,可以将数字型字符串转化成数字,比如java中 1+"1" 是可以得到结果2的,而且还是个数字类型
2.一一映射,将字符串存入数组,然后一位一位的匹配,也应该可以。
我从网上看到的方法,是将字符串存入数组,然后利用1中的方式,对字符串进行强转。已经在ide上进行了测试。
int flag=0,i=0;
long num=0;
char str[]={"-12345"};
while(str[i]!='\0')
{
if(str[i]=='-')
flag=1;
else if(str[i]=='+')
flag=0;
else
num=num*10+(str[i]-'0');
i++;
}
if (flag==1)
num=-num;
printf("\n由数字字符串转换成的整数是:%ld", num);
//Console::WriteLine(L"Hello World");
return 0;