Вычисление суммы трехзначных чисел, в десятичной записи которых нет четных цифр - C (СИ)
Формулировка задачи:
Код подправить нужно . Не понимаю в чем ошибка.
int main()
{
int a,b = 0,c;
printf("Vvedite a,c =");
scanf("%i %i", &a, &c);
for (; a < c; a++)
{
if (!(((a % 10) % 2 == 0) && ((a % 100) % 2 == 0) && ((a % 1000) % 2 == 0)))
{
a = b + a;
}
}
printf("Sum = %i", &a);
return 0;
}Решение задачи: «Вычисление суммы трехзначных чисел, в десятичной записи которых нет четных цифр»
textual
Листинг программы
#include <stdio.h>
#define has_even_digit(n) ( !( (n) & 1 ) || !( ( (n) / 10 ) & 1 ) || !( ( (n) / 100 ) & 1 ) )
int main(void) {
int number, sum;
for ( sum = 0, number = 100; number < 1000; ++number )
if ( ! has_even_digit(number) )
sum += number;
printf("Sum: %d\n", sum);
return 0;
}