0

我正在努力完成我的作业,这是从今天下午以来我无法弄清楚的最后一件事。

比如说我在数组中有这样的字符串,ABCD24EFG我想24在我初始化的变量中获取该数字int

我可以用一个数字来做,然后像这样转换

number_holder = array_name[4] - '0';

我会进入2number_holder我怎样才能得到整个喜欢24并将它们转换成int类型?

4

3 回答 3

3

您可以使用著名的算法

n = 0
while (char = nextchar()) {
  n = n*10 + digit(char)
}

用伪语言

于 2012-05-17T03:59:03.220 回答
1

尝试

    number_holder_1 = array_name[4] - '0';
    number_holder_2 = array_name[5] - '0';

你会得到两个号码。并执行

number = number_holder_1  * 10 + number_holder_2 ;

如果数字不能是 2 位数字,那么您可以使用 for 循环来获取所需的数字。

于 2012-05-17T03:57:47.340 回答
1

你可以使用这个逻辑。

number_holder=array_name[4] - '0';
number_holder=number_holder*10 + (array_name[5] - '0');

这样您还可以处理数组值,如 ABCD243EFG、ABCD2433EFG ...

整数 0-9 的 ASCII 值是 48 - 57 ..所以用它来查找数组中的整数。

   number_holder=0;
   For (int i=0;i<arraylength;i++) 
    {
        if(array[i]<58 && array[i]>47)
        number_holder=number_holder*10+array[i] - '0';
    }    

您将在 number_holder 中获得结果。

于 2012-05-17T03:58:48.417 回答