Nombre d’occurrences du max et min de N entiers
Objectif:
Utiliser les boucles : for et do...while
Énoncé:
Question 1:
Ecrire un programme C qui demande la saisie de N entiers et qui calcule et affiche le nombre d'occurrences du maximum et du minimum.
Entrer le nombre de valeurs : 6
Entrer la valeur 1 : 10
Entrer la valeur 2 : 14
Entrer la valeur 3 : 6
Entrer la valeur 4 : 93
Entrer la valeur 5 : -4
Entrer la valeur 6 : 93
Le maximum est : 93
Le nombre d’occurrences du maximum est : 2
Le minimum est : -4
Le nombre d’occurrences du minimum est : 1
Question 2:
Dans cette question le nombre d’entiers saisis est inconnu. Le programme demandera à l’utilisateur de taper le caractère 'o' (ou 'O') pour saisir un entier ou 'n' (ou 'N') pour arrêter.
Entrer la valeur 1 : 10
Voulez-vous continuer (O/N) : O
Entrer la valeur 2 : 14
Voulez-vous continuer (O/N) : O
Entrer la valeur 3 : 6
Voulez-vous continuer (O/N) : o
Entrer la valeur 4 : 93
Voulez-vous continuer (O/N) : O
Entrer la valeur 5 : -4
Voulez-vous continuer (O/N) : O
Entrer la valeur 6 : 93
Voulez-vous continuer (O/N) : N
Le maximum est : 93
Le nombre d’occurrences du maximum est : 2
Le minimum est : -4
Le nombre d’occurrences du minimum est : 1
Question 1:
//Programme : Nombre d’occurrences du max et min 1 //Auteur : IDMANSOUR //Copyright : Exelib.net #include <stdio.h> int main() { int i, n, a, nmax = 0, nmin = 0, cmax = 0, cmin = 0; printf("Entrer le nombre de valeurs: "); scanf("%d",&n); for(i=1; i<=n; i++) { printf("Entrez la valeur %d : ", i); scanf("%d",&a); //Initialisation du max et min if(i==1){ nmax = a; nmin = a; } if(a > nmax){ nmax = a; cmax = 1; } else if(a == nmax){ cmax++; } if(a < nmin){ nmin = a; cmin = 1; } else if(a == nmin){ cmin++; } } printf("\nLe maximum est: %d\n", nmax); printf("Le nombre d'occurrences du maximum est : %d\n\n", cmax); printf("Le minimum est: %d\n", nmin); printf("Le nombre d'occurrences du minimum est : %d\n", cmin); }
Question 2:
//Programme : Nombre d’occurrences du max et min 2 //Auteur : IDMANSOUR //Copyright : Exelib.net #include <stdio.h> int main() { int i, a, nmax = 0, nmin = 0, cmax = 0, cmin = 0; char c; i = 1; do{ printf("Entrez la valeur %d : ", i); scanf("%d",&a); i++; //Initialisation du max et min if(i==1){ nmax = a; nmin = a; } if(a > nmax){ nmax = a; cmax = 1; } else if(a == nmax){ cmax++; } if(a < nmin){ nmin = a; cmin = 1; } else if(a == nmin){ cmin++; } fflush(stdin); printf("Voulez-vous continuer (O/N)? : "); scanf("%c", &c); }while(c != 'n' && c != 'N'); printf("\nLe maximum est: %d\n", nmax); printf("Le nombre d'occurrences du maximum est : %d\n\n", cmax); printf("Le minimum est: %d\n", nmin); printf("Le nombre d'occurrences du minimum est : %d\n", cmin); }