Строки: Сумма цифр в строке
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
А как сделать сабж? Он у меня подсчитывает сумму ASCII-кодов ,а не самих чисел,т.е как перевести цифры в число?
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
1. Разбить строку на цифры
2. Воспользоваться функцией atoi() для преобразования строки в число.
2. Воспользоваться функцией atoi() для преобразования строки в число.
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Не совсем понятно,а с какими параметрами эту фцнкцию использовать,у меня компилятор чё-то ругается....
Вообще я вот так пробую:
#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;
}
Вообще я вот так пробую:
#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;
}
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Если нужны цифры, то значение цифры вычисляется, как
atoi извлекает не цифру, а число.
Код: Выделить всё
str[i] - 0x30
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Большущее списибо!!! Вот теперь всё у меня заработало!
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
Есшо у меня вот такой вопросик:
Если подряд идут несколько цифр и надо их представить как одно число и таким образом подсчитать сумму чисел???
Заранее спасибо!!!
Если подряд идут несколько цифр и надо их представить как одно число и таким образом подсчитать сумму чисел???
Заранее спасибо!!!
-
- Сообщения: 77
- Зарегистрирован: 24 мар 2005, 11:00
И ещё - какую библиотеку надо для функции atoi(),а то компилятор ругается?
1) атои - енто виндовая библиотека
2) чисто ансишным стандартом можно выкрутиться функцией sscanf - указать что читаешь число и все
2) чисто ансишным стандартом можно выкрутиться функцией sscanf - указать что читаешь число и все
В SAD - все в SAD.
-
- Сообщения: 497
- Зарегистрирован: 17 фев 2004, 11:26
- Откуда: Ленинград (который Город на Неве)
- Контактная информация:
Фигу-пигу:Kolinus писал(а):1) атои - енто виндовая библиотека
Код: Выделить всё
ATOI(]
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)
viel spass, DeeJayC
viel spass, DeeJayC