Boa tarde, meu professor do curso de eng. Elétrica nos pediu que criássemos um programa que calculasse a multiplicação dos dígitos de um inteiro entre 10 e 999.
Ex.: 128 = 1 * 2 * 8 = 16.
Consegui criar a função que faz isso (dentro do while) e funcionou contanto que eu adicionasse um scanf antes de iniciar o while() para dizer qual numero multiplicar. Mas quando coloquei o while dentro do for para gerar os números de 100 a 999 automaticamente, todos os resultados passaram a ser 0. Nao consegui achar o erro, gostaria que alguém pudesse me ajudar. Agradeço desde já
#include <stdio.h>
#include <stdlib.h>
int main() {
int numero, t, produto = 1, resto, i = 100;
for (i; i < 1000; ++i) {
numero = i;
t = numero;
while (t != 0) {
//multiplica os digitos do inteiro
//quando t = 0 acaba o while
resto = t % 10;
produto = produto * resto;
t = t / 10;
}
printf("O produto dos digitos do numero %d = %d\n", numero, produto);
}
return 0;
}
Segue o código funcional sem o for:
#include <stdio.h>
#include <stdlib.h>
int main() {
int numero, t, produto = 1, resto;
printf("Insira o inteiro\n");
scanf("%d", &numero);
t = numero;
while (t != 0) {
resto = t % 10;
produto = produto * resto;
t = t / 10;
}
printf("O produto dos digitos do numero %d = %d\n", numero, produto);
return 0;
}