@im_noob

Почему видит только последнее значение?

Задание: Определить функцию вычисление суммы цифр произвольного числа и ее помощью найти какой из членов генерированной последовательности имеет наибольшую сумму.
Нужно сделать без массивов.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int sumdigs(int k);

int sumdigs(int k)
{
    int s = 0;
    while (k > 0)
    {
        s += k % 10;
        k = k / 10;
    }
    return s;
}
int main()
{
    double s = 0, a;
    unsigned int i, n,x;
    int smax,xmax;
    printf("n=");
    scanf_s("%u", &n);
    for (int i = 0; i <= n; i++)
    {
        x = rand() % 100;
        printf("%d ", x); 
        int k;
        smax = xmax = 0;
        k = sumdigs(x[i]);
        if (k > smax)
        {
            smax = k;
            xmax = x;
        }
    } 
   
    printf("\nMax summ numbers =%d in number %d\n", smax, xmax); 
    _getch();
    return 0;
}
  • Вопрос задан
  • 39 просмотров
Решения вопроса 1
includedlibrary
@includedlibrary
Вынесите эту строчку за цикл.
smax = xmax = 0;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы