Вывести все трехзначные числа, сумма цифр которого равна А и число кратно В - C (СИ)
Формулировка задачи:
#include<stdio.h> #include<conio.h> #include<math.h> main() {int a, b, x, i=0, j=0, k=0; clrscr(); printf("Vvedite a"); scanf("%i", &a); printf("Vvedite b"); scanf("%i", &b); x=100; i=fdiv(x,1); j=fdiv(x,10); k=fdiv(x,100); x+=1; while (x<=999) for(x=100;x<1000;x++); {if (fmod(x,b)=0) if (a=i+j+k) printf("x=%i", x); } getch() }
Решение задачи: «Вывести все трехзначные числа, сумма цифр которого равна А и число кратно В»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #define dec ( 10 ) #define p ( 3 ) int main() { int m[ p ] = { 123, 456, 789 }; size_t i = 0, tmp, cnt; while ( i < p ) { cnt = p; tmp = 0; while ( cnt-- ) { tmp += m[ i ] % dec; m[ i ] /= dec; } m[ i++ ] = tmp; } i = 0; while ( i < p ) printf( "%4i", m[ i++ ] ); puts(""); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с файлами и математическими операциями.
- Определение двух констант: dec (10) - сумма цифр трехзначных чисел кратна 10, p (3) - количество трехзначных чисел в массиве.
- Создание массива m размером p, содержащего трехзначные числа.
- Переменная i инициализируется нулем, tmp - аккумулятором суммы цифр, cnt - счетчиком количества итераций в цикле.
- В цикле while (i < p) происходит вычисление суммы цифр текущего трехзначного числа и разделение числа на декаду (10).
- Внутренний цикл while (cnt--) выполняет перебор всех цифр текущего числа, суммируя их и уменьшая значение cnt на единицу.
- После завершения внутреннего цикла, полученная сумма цифр сохраняется в аккумулятор tmp.
- После завершения внешнего цикла, значение аккумулятора tmp заменяет текущее число в массиве m, а значение i увеличивается на единицу.
- После завершения цикла, в цикле while (i < p) происходит вывод на экран всех трехзначных чисел, сумма цифр которых кратна 10.
- В конце программы возвращается 0, сигнализируя о успешном завершении работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д