Страница 1 из 1
Строки: Сумма цифр в строке
Добавлено: 24 мар 2005, 12:12
qwertyuiop
А как сделать сабж? Он у меня подсчитывает сумму ASCII-кодов ,а не самих чисел,т.е как перевести цифры в число?
Добавлено: 24 мар 2005, 12:15
DeeJayC
1. Разбить строку на цифры
2. Воспользоваться функцией atoi() для преобразования строки в число.
Добавлено: 24 мар 2005, 12:39
qwertyuiop
Не совсем понятно,а с какими параметрами эту фцнкцию использовать,у меня компилятор чё-то ругается....
Вообще я вот так пробую:
#include <stdio.h>
int main(void)
{
char str[256], code;
int i = 0, sum = 0;
printf("Enter any string : \n> ");
scanf("%s",&str);
printf("STRING - %s\n",str);
for (;str;i++)
{
code = str;
if (code >= 48 && code <= 57)
sum += str;
}
printf("Sum of the numbers in string \"%s\" - %d !\n",str,sum);
return 0;
}
Добавлено: 24 мар 2005, 12:46
DeeJayC
Если нужны цифры, то значение цифры вычисляется, как
atoi извлекает не цифру, а число.
Добавлено: 24 мар 2005, 13:11
qwertyuiop
Большущее списибо!!! Вот теперь всё у меня заработало!
Добавлено: 29 мар 2005, 14:06
qwertyuiop
Есшо у меня вот такой вопросик:
Если подряд идут несколько цифр и надо их представить как одно число и таким образом подсчитать сумму чисел???
Заранее спасибо!!!
Добавлено: 29 мар 2005, 14:08
qwertyuiop
И ещё - какую библиотеку надо для функции atoi(),а то компилятор ругается?
Добавлено: 29 мар 2005, 15:50
Kolinus
1) атои - енто виндовая библиотека
2) чисто ансишным стандартом можно выкрутиться функцией sscanf - указать что читаешь число и все
Добавлено: 29 мар 2005, 16:37
DeeJayC
Kolinus писал(а):1) атои - енто виндовая библиотека
Фигу-пигу:
Добавлено: 29 мар 2005, 19:02
qwertyuiop
спасибо!!!