从数字组成的字符串转化为十进制数步骤如下:
1、挨个读取数组,从第0位开始
2、将字符转化为数字。比如从'1'转化为1。可以参考ASCII码表,字符'0'是48,所以只需要将字符减去48即可。
3、将前一个计算出的十进制数(初始化为0)乘以10加上第二步计算出的数字。
4、循环1-3步直到读取完数组内所有内容。
之所以这样算需要举个例子:比如数组内内容是'1','5','9'。计算结果肯定是159。这个159等于1*100+5*10+9*1。我们定义变量S来作为结果(初始化为0)。
按照上述步骤计算:
1、int n='1'-48(=1);
2、s=s*10+n(=1);
3、n='5'-48(=5);
4、s=s*10+n(=15);
5、n='9'-48(=9);
6、s=s*10+n(=159);
你问题里面带有代码,但是留有空白,我根据上述算法和你的代码做了如下答案。
(1)的位置,当然是输入数组
for(int i=0;i<10;i++){(2)的位置就是一个循环条件而已
i<10但是上述的答案必须输入完完整的十个数字,而且不存在对输入的校验,输入a这样额字符会出现问题。第二个方法就是使用一个结束符号。
(1)的位置
for(int i=0;i<10;i++){(2)的位置稍微复杂一点了
i<10&&s[i]<=57&&s[i]>=48