Информатика и технология программирования


Ввод целого числа


В преобразовании используется тот факт, что при добавлении к числу очередной цифры справа старое значение увеличивается в 10 раз и к нему добавляется значение новой цифры, например:


Число: '123' '1234'
Значение: 123 1234 = 123 * 10 + 4

Тогда в основе алгоритма лежит итерационный цикл просмотра всех цифр числа слева направо, в котором значение числа на текущем шаге цикла получается умножением на 10 результата предыдущего цикла и добавлением значения очередной цифры:


n = n * 10 + c[i] - '0';

где s[i]-'0' -двоичное значение цифры, представленной символом c[i].


//------------------------------------------------------bk34-05.cpp


//------Преобразование внешней формы во внутреннюю в 10СС


int StringToInt(char c[])
{
int n,i;
for (i=0; !(c[i]&#62='0' &#38&#38 c[i]&#60='9'); i++)
if (c[i]=='\0') return(0); // Поиск первой цифры


for (n=0; c[i]&#62='0' &#38&#38 c[i]&#60='9'; i++)
// Накопление целого


n = n * 10 + c[i] - '0'; // "цифра за цифрой"


return n;
}





Начало  Назад  Вперед