主题:这问题我怎么也想不通 请高手指点一下
此题是让把字符串数组不变的用整型输出,输出的只能是一个变量不能是数组。比如输入456输出也应是456 我编的程序如下
#include<iostream>
#include<math.h>
#include<stdlib.h>
using namespace std;
int main()
{char str[12];
cin>>str;
int k;
k= strlen(str);
int i=k-1,a=0;
while(i>=0)
{a=a+(str[i]-'0')*pow(10,k-1-i) ; i--; }
printf("%d",a);
system("pause");
return 0; }
我用DEVc++编的 输入两位数时 输出也是这两位数比如输入12 输出也是12 但是我输入三位数时比如输入123 输出的确是122 输入100时显示的是99。真不明白为什么。请各位哥哥,姐姐帮忙解答一下。
而且把12行两条语句改为一条为{a=a+(str[i--]-'0')*pow(10,k-1-i) ; }的语句得数就不一样
#include<iostream>
#include<math.h>
#include<stdlib.h>
using namespace std;
int main()
{char str[12];
cin>>str;
int k;
k= strlen(str);
int i=k-1,a=0;
while(i>=0)
{a=a+(str[i]-'0')*pow(10,k-1-i) ; i--; }
printf("%d",a);
system("pause");
return 0; }
我用DEVc++编的 输入两位数时 输出也是这两位数比如输入12 输出也是12 但是我输入三位数时比如输入123 输出的确是122 输入100时显示的是99。真不明白为什么。请各位哥哥,姐姐帮忙解答一下。
而且把12行两条语句改为一条为{a=a+(str[i--]-'0')*pow(10,k-1-i) ; }的语句得数就不一样