Table de multiplication

Résolu
bonsoir tout le monde je suis débutante en C j'ai écrit un programme qui affiche la table de multiplication de 6 7 8 9 avec la mise en forme suivante:
I 1 2 3 4 5 6 7 8 9 10
------------------------------------------
6 I 6 12 18 24 30 36 42 48 54 60
7 I 7 14 21 28 35 42 49 56 63 70
8 I 8 16 24 32 40 48 56 64 72 80
9 I 9 18 27 36 45 54 63 72 81 90
voilà le programme je sais pas ou se trouve le problème :
#include <stdio.h>
#include <stdlib.h>

int main()
{
int i,j;
char I;
printf(" I 1 2 3 4 5 6 7 8 9 10");
printf("--------------------------------");

printf("6789");
printf("IIII");

for(i=1; i<=10;i++)

{for(j=6; j<=9; j++)

{printf("%d%d",i*j);}

}

return 0;
}
et merci d'avance.

4 réponses

  1. Bonjour
    Moi je dirais qu'il est trop lourd comme algorithme ( celui de @Lerendra ) de plus deux boucles "Tant que" suffis pour réaliser le programme.
    Dont une qui parcourra un tableau contenant les multiples
    et la seconde qui se charge de faire la multiplication.
    En plus claire cela donnerais le codes ci-dessous comme exemple ( attention en peut mieux faire en évitant l'utilisation des pointeurs )de plus j'ai volontairement opté pour cette démo en plus et mis les variables dans un tableau de façon à ne pas modifier le bloc d'instructions finales.
    Mais j'ai une préférence pour le code de @fiddy qui est mieux conçu que le mien (+1)
    à bientôt
    #include <stdio.h>
    
    int main( void ){
    
    	//Variables
    	unsigned int i = 0;
    	unsigned int *p = NULL;
    	unsigned int iTab[] = { 1, 6, 1, 1, 2 , 1, 2, 7 };
    	p = iTab;	//Alias
    
    	//
    	printf( "NB\t|\t1 \t\t2 \t\t3 \t\t4 \t\t5 \t\t6 \t\t7 \t\t8 \t\t9 \t\t10\n" );
    	printf( "\n" );
    
    	while( *p ){
    
    		printf( "[ %d ]\t", *p );
    		while( (i++) != 10 ){
    			printf( "\t%d\t", (i *(*p) ) );
    		}
    
    		i = 0;
    		printf("\n");
    		p++;
    	}
    
    	return( 0 );
    }
    


    à bientôt
    0