salut à tous ...j'aimerais bien qu'on maide à corriger set exercice.
Voici mon code source
[b]
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, nbre ;
printf("Veuiller saisir un nombre:\n");
scanf("%d",&nbre);
for (i=1 ; i <= nbre ; i++)
if (i % 2 == 0)
printf("%d est un nombre pair\n",i);
printf("-------------------------\n");
if (nbre % i == 0)
printf("%d est un diviseur de %d\n",i,nbre);
printf("-------------------------\n");
if (nbre % i != 0)
printf("%d est un nombre impair\n",nbre);
return 0;
}
/b
Voici le resultat escompté
Donner un nombre positif : 6
------------------------------------
2 est un nombre pair
4 est un nombre pair
6 est un nombre pair
------------------------------------
1 est un nombre impair
3 est un nombre impair
5 est un nombre impair
-------------------------------------
1 est un diviseur de 6
2 est un diviseur de 6
3 est un diviseur de 6
6 est un diviseur de 6
Merci davance
A voir également:
Programmation C : qui veut bien me donner un coup de pouce
Tu vois que ça n'etait pas si compliqué que ça en avait l'air
Et là, terminado les modulos:
#include <stdio.h>
int main()
{
int i, nbre ;
printf("Veuiller saisir un nombre:");
scanf("%d",&nbre);
printf("-------------------------\n");
for (i=2 ; i <= nbre ; i+=2)
printf("%d est un nombre pair\n", i);
printf("-------------------------\n");
for (i=1 ; i <= nbre ; i+=2)
printf("%d est un nombre impair\n", i);
printf("-------------------------\n");
for (i=1 ; i <= nbre ; i++)
if (nbre % i == 0)
printf("%d est un diviseur de %d\n",i,nbre);
return 0;
}
Ton code et le mien donnerons le même résultat mais le mien sera plus rapide.
Voilà une technique pour tester la parité d'un nombre:
#include <stdio.h>
int main()
{
int i, nbre ;
printf("Veuiller saisir un nombre:");
scanf("%d",&nbre);
printf("-------------------------\n");
for (i=1 ; i <= nbre ; i++)
if (i & 1 == 0) // pareil que if (!(i&1))
printf("%d est un nombre pair\n", i);
printf("-------------------------\n");
for (i=1 ; i <= nbre ; i++)
if (i & 1 != 0) // pareil que if (i&1)
printf("%d est un nombre impair\n", i);
printf("-------------------------\n");
for (i=1 ; i <= nbre ; i++)
if (nbre % i == 0)
printf("%d est un diviseur de %d\n",i,nbre);
return 0;
}
Plus dans l'esprit du tien mais il sera plus rapide aussi.
@patatalo je crois que if (i % 2 = = 0) est meilleur et plus logique que l'incrémentation for (i=2 ; i <= nbre ; i+=2) pour tester la parité !!! ca donne çà
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, nbre ;
printf("Veuiller saisir un nombre:");
scanf("%d",&nbre);
printf("\n");
for (i =1 ; i <= nbre ; i++)
if (i % 2 == 0)
printf("%d est un nombre pair\n",i);
printf("-------------------------\n")
for (i=1 ; i <= nbre ; i++)
if (i % 2 != 0)
printf("%d est un nombre impair\n",i);
printf("-------------------------\n");
for (i=1 ; i <= nbre ; i++)
if (nbre % i == 0)
printf("%d est un diviseur de %d\n",i,nbre);
Commence par ça, déjà, tu seras dans le bon ordre:
#include <stdio.h>
int main()
{
int i, nbre ;
printf("Veuiller saisir un nombre:\n");
scanf("%d",&nbre);
for (i=2 ; i <= nbre ; i+=2)
printf("%d est un nombre pair\n",i);
printf("-------------------------\n");
if (nbre % i != 0)
printf("%d est un nombre impair\n",nbre);
printf("-------------------------\n");
if (nbre % i == 0)
printf("%d est un diviseur de %d\n",i,nbre);
return 0;
}