Форум программистов, компьютерный форум CyberForum.ru

Найти сумму цифр в числе - C++

Восстановить пароль Регистрация
 
Сеня 2007
2 / 2 / 0
Регистрация: 03.10.2010
Сообщений: 182
18.02.2011, 19:07     Найти сумму цифр в числе #1
Задание соответствует названию темы. Вот что у меня получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <conio.h>
void main()
{
    int a,b,c;
    printf("Введите a \n");
    scanf("%d",&a);
    c=0;
    do
    b=a%10;
        a=a/10;
    c=c+b;
    while(a!=0);
    printf("c=%d \t",c);
    getch();
}
Пишет что нужно поставить while перед a=a/10;. Зачем его ставить я не могу понять! И как исправить эту оплошность?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Топорик
7 / 7 / 1
Регистрация: 15.02.2011
Сообщений: 19
18.02.2011, 19:20     Найти сумму цифр в числе #2
то, что после do до while, необходимо заключить в фигурные скобки
вот так
C++
1
2
3
4
5
6
7
do
        {
        b=a%10;
        a=a/10;
        c=c+b;
        }
        while(a!=0);
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
18.02.2011, 19:47     Найти сумму цифр в числе #3
А так интереснее...

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int sum_helper(int one, int sec)
{
    return one == 0 ? sec : sum_helper(one/10, sec+one%10);
}
 
int sum(int one)
{
    return sum_helper(one, 0);
}
 
int main()
{
    printf("%d\n", sum(55443322));
    return 0;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
18.02.2011, 19:48     Найти сумму цифр в числе #4
C++
1
2
int num = 12345, sum;
for( sum = num % 10; num /= 10; sum += num % 10 );
silent_1991
18.02.2011, 20:03
  #5

Не по теме:

ForEveR, смотрю, вам мой совет приглянулся))) Я рад))

ForEveR
18.02.2011, 20:05     Найти сумму цифр в числе
  #6

Не по теме:

silent_1991, еще бы) это логичнее, чем давать какие-то неосмысленные параметры

Yandex
Объявления
18.02.2011, 20:05     Найти сумму цифр в числе
Ответ Создать тему
Опции темы

Текущее время: 18:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru