Informática, perguntado por cruzeiro20166, 1 ano atrás

Boa noite, onde está o erro deste código da tabuada?
#include
int main(){
int N,resp,cont;

printf("Digite a tabuada que voce quer :");
scanf("%d",&N);

resp= N*cont;
{
for(cont=0;cont<=10;cont++)
printf("%2d x %2d = %d\n",N,cont,resp);
printf("\n");
}


return 0;
}

Soluções para a tarefa

Respondido por cledersonbc
1
Quando você declara uma variável, você está informado ao computador que reserve um espaço na memória RAM para uso de um tipo de dado. Na linguagem C, você pode declarar uma variável sem inicializá-la e utilizá-la normalmente. Em Java daria erro, é obrigatório inicializar antes do uso.

Repare na operação "resp = N * cont". O N recebeu o valor que o usuário digitou, mas e o cont? Que valor ele possui? Ele possui o valor que foi utilizado pelo último programa do seu computador que precisou daquele espaço na memória RAM,  ou apenas possui o valor zero.

Repare também no seu bloco for, ele não tem uma chave de início, pois, ela está acima dele. E lá no início do seu programa, você não incluiu a biblioteca padrão de entrada e saída de dados da linguagem <stdio.h>.


Forma Alternativa de se fazer

#include <stdio.h>

int main() {

  int i, n;  //Contador e número

  //Repita até o usuário digitar um valor natural
  do {
     printf("Informe um valor natural: ");
     scanf("%d", &n);
 } while (n < 0);

  for (i = 0; i <= 10; i++) {
     printf("%d x %d = %d\n", n, i, (n * i));
  }
 
  return 0;
}

cledersonbc: Obrigado c:
Perguntas interessantes