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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Bumer@ng
0 / 0 / 0
Регистрация: 20.08.2010
Сообщений: 69
#1

Сумма цифр - C++

20.08.2010, 22:29. Просмотров 1438. Ответов 29
Метки нет (Все метки)

Пользователь вводит с клавиатуры число, необходимо показать на экран сумму его цифр.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2010, 22:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сумма цифр (C++):

Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 - C++
Помогите пожалуйста с задачей. Найдите натуральные числа такие, чтобы сумма их цифр следующего за ним числа делилась на 7. (язык С++)...

Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 - C++
задание:"найдите простые числа такие, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7" помогите...

Определить для числа: является ли сумма его цифр двузначным числом; больше ли сумма его цифр числа "а" - C++
4.24. Дано двузначное число. Определить: а) является ли сумма его цифр двузначным числом; б) больше ли числа "a" сумма его...

Рекурсия: количество цифр в числе, сумма цифр и реверс числа - C++
Вот задание: Написать программу, которая запрашивает у пользователя целое число, на экран выводит сколько цифр в числе, их сумму и...

Определить сколько цифр в заданном натуральном числе, и чему равна сумма его цифр - C++
Дано натуральное число n (n<=100). Определить сколько цифр в числе n, чему равна сумма его цифр.

Вычислить число положительных целых, меньших n, таких, что их сумма цифр равна сумме цифр в n - C++
Здравствуйте! Помогите плиз Нужно написать программу, которая по целому положительному числу n вычисляет количество положительных...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
20.08.2010, 22:53 #2
C++
1
2
3
4
5
6
7
8
9
int n=123123;
int sum=0;
 
while (n)
{
    sum+=(n%10);
    n/=10;
}
std::cout  << "SUM: " << sum;
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
20.08.2010, 23:13 #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main(void){
    int num, sum;
    
    printf("Number: ");
    scanf("%d", &num);
    for ( sum = 0; num; num /= 10 )
        sum += num % 10;
    printf("Sum of digits: %d\n", sum);
    
    return 0;
}
outoftime
║XLR8║
509 / 431 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.08.2010, 23:14 #4
А покомпактней?
C++
1
2
int n = 123123, ans = 0;
while (n) ans += n % 10, n /= 10;
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
20.08.2010, 23:17 #5
outoftime, не надо переусердствовать с компактностью в жертву понятности. Оператор следования (,) использовать подобным образом вообще не стоит.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.08.2010, 23:17 #6
Для разнообразия
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
int main()
{
    char num[10];
    int sum = 0;
    int i;
    
    printf("Vvedite chislo: ");
    gets(num);
    
    for (i = 0; i < strlen(num); i++)
        sum += (int)num[i] - 48;
    
    printf("Summa cifr vvedennogo chisla: %d", sum);
    
    getch();
    return 0;
}
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
20.08.2010, 23:17 #7
outoftime, какое покомпактней?
Может весь код будет в 1 строку писать? А что, компактно ведь, да?
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
20.08.2010, 23:27 #8
Цитата Сообщение от outoftime Посмотреть сообщение
А покомпактней?
C
1
2
3
...
for ( sum = 0; num && ( sum = sum + num % 10 ); num /= 10 );
...
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
20.08.2010, 23:28 #9
А я как новичок, предложу вариант новичка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namspace std;
const int MAX=10;
int main()
{
   int n[MAX];
   int sum,i;
   
   for(i=0; i<MAX; i++)
   {
      cout << "Enter number: ";
      cin >> n[i];
      
   }
   for(i=0; i<MAX; i++)
   {
      sum+=n[i];
   }
    cout << "Sum = " << sum;
    return 0;
}
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.08.2010, 23:31 #10
half-node,
Новичку тоже не помешает быть внимательным... Ну или хотя бы дотошным и проверять код)))
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
20.08.2010, 23:33 #11
C++
1
do sum += n % 10; while(n /= 10);
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
20.08.2010, 23:35 #12
Цитата Сообщение от silent_1991 Посмотреть сообщение
half-node,
Новичку тоже не помешает быть внимательным... Ну или хотя бы дотошным и проверять код)))
Поправил, да. Спасибо )

Добавлено через 51 секунду
Хотя, подсчет суммы можно и в первый цикл вставить, под конец.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.08.2010, 23:39 #13
half-node,
И тем не менее нет, не отработает. Sum не инициализирована. Да и не очень удобное решение - вводить число поциферно)))
easybudda
Модератор
Эксперт CЭксперт С++
9530 / 5523 / 932
Регистрация: 25.07.2009
Сообщений: 10,602
20.08.2010, 23:48 #14
C
1
while ( ( sum += num % 10 ) && ( num /= 10 ) );
half-node
21 / 18 / 3
Регистрация: 12.08.2010
Сообщений: 206
20.08.2010, 23:55 #15
Цитата Сообщение от silent_1991 Посмотреть сообщение
half-node,
И тем не менее нет, не отработает. Sum не инициализирована. Да и не очень удобное решение - вводить число поциферно)))
Да, с инициализацией дал промаху, согласен
А вот по поводу поциферного ввода, это спорный вопрос. Дело в том, как мне кажется, что пользователю вообще бы хорошо давать выбор, сколько цифр вводить. Это, конечно, малость другой код нежели мой, но все же. Интерфейс пользователя, какой-никакой, а быть должен.

Добавлено через 42 секунды
Цитата Сообщение от easybudda Посмотреть сообщение
C
1
while ( ( sum += num % 10 ) && ( num /= 10 ) );
Скоро на Lisp перейдете
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.08.2010, 23:55
Привет! Вот еще темы с ответами:

Дано натурально число n. Сколько цифр в этом числе. Чему равняется сумма цифр. Найти первую цифру - C++
Желательно в С

Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу - C++
Требуется помощь.. Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому...

Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27 - C++
найти все четырёхзначные числа , у которых сумма крайних цифр равна сумме средних цифр , а само число делится на 6 и 27 . В С++

Определить равна ли сумма k цифр дробной части заданного вещественного числа сумме цифр целой части - C++
Помогите доделать задание, исправьте пожалуйста код!!! Срочно! Задание: Выполнить задания, выделяя цифры числа, хранящегося в переменной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.08.2010, 23:55
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru