Вывести все трехзначные числа, сумма цифр которого равна А и число кратно В - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>
  4. main()
  5. {int a, b, x, i=0, j=0, k=0;
  6. clrscr();
  7. printf("Vvedite a");
  8. scanf("%i", &a);
  9. printf("Vvedite b");
  10. scanf("%i", &b);
  11. x=100;
  12. i=fdiv(x,1);
  13. j=fdiv(x,10);
  14. k=fdiv(x,100);
  15. x+=1;
  16. while (x<=999)
  17. for(x=100;x<1000;x++);
  18. {if (fmod(x,b)=0) if (a=i+j+k) printf("x=%i", x);
  19. }
  20. getch()
  21. }
при выполнении функция fdiv не читается

Решение задачи: «Вывести все трехзначные числа, сумма цифр которого равна А и число кратно В»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define dec ( 10 )
  5. #define p   ( 3 )
  6.  
  7. int main() {
  8.  
  9.     int m[ p ] = { 123, 456, 789 };
  10.     size_t i = 0, tmp, cnt;
  11.  
  12.     while ( i < p ) {
  13.  
  14.         cnt = p;
  15.         tmp = 0;
  16.  
  17.         while ( cnt-- ) {
  18.             tmp += m[ i ] % dec;
  19.             m[ i ] /= dec;
  20.         }
  21.         m[ i++ ] = tmp;
  22.     }
  23.     i = 0;
  24.  
  25.     while ( i < p )
  26.         printf( "%4i", m[ i++ ] );
  27.     puts("");
  28.  
  29.     return 0;
  30. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и математическими операциями.
  2. Определение двух констант: dec (10) - сумма цифр трехзначных чисел кратна 10, p (3) - количество трехзначных чисел в массиве.
  3. Создание массива m размером p, содержащего трехзначные числа.
  4. Переменная i инициализируется нулем, tmp - аккумулятором суммы цифр, cnt - счетчиком количества итераций в цикле.
  5. В цикле while (i < p) происходит вычисление суммы цифр текущего трехзначного числа и разделение числа на декаду (10).
  6. Внутренний цикл while (cnt--) выполняет перебор всех цифр текущего числа, суммируя их и уменьшая значение cnt на единицу.
  7. После завершения внутреннего цикла, полученная сумма цифр сохраняется в аккумулятор tmp.
  8. После завершения внешнего цикла, значение аккумулятора tmp заменяет текущее число в массиве m, а значение i увеличивается на единицу.
  9. После завершения цикла, в цикле while (i < p) происходит вывод на экран всех трехзначных чисел, сумма цифр которых кратна 10.
  10. В конце программы возвращается 0, сигнализируя о успешном завершении работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы