Académique Documents
Professionnel Documents
Culture Documents
com
1/2
Mr HousNi * housni14@gmail.com
Corrig
#include <stdio.h>
#include <stdlib.h>
main()
{
// dclaration des variables
int N; // nombre de NOTES
float note_max, note_min, moy; // note maximale et note minimale
int i,j; // compteur
// lecture de N
printf("Donner le nombre de NOTES: ");
scanf("%d",&N);
// dclaration du tableau
float POINTS[N];
// remplissage des NOTES
printf("\n");
for(i=0;i<N;i++){
printf("Donner la note de l'eleve %d : ",i+1);
scanf("%f",&POINTS[i]);
}
// calcul et affichage de la note maximale et de la note minimale
note_max=POINTS[0];
note_min=POINTS[0];
moy=0;
for(i=0;i<N;i++){
if(POINTS[i]>note_max) note_max=POINTS[i];
if(POINTS[i]<note_min) note_min=POINTS[i];
moy=moy+POINTS[i]/N;
}
printf("\nLa note maximale est %.2f",note_max);
printf("\nLa note minimale est %.2f",note_min);
printf("\nLa moyenne des NOTES est %.2f",moy);
// declaration et initialisation du tableau qui contiendra la distribution des NOTES
int NOTES[7]={0,0,0,0,0,0,0};
int MAXN;
// calcul de la distribution
for(i=0;i<N;i++){
if((0<=POINTS[i])&&(POINTS[i]<10)) NOTES[0]++;
if((10<=POINTS[i])&&(POINTS[i]<20)) NOTES[1]++;
if((20<=POINTS[i])&&(POINTS[i]<30)) NOTES[2]++;
if((30<=POINTS[i])&&(POINTS[i]<40)) NOTES[3]++;
if((40<=POINTS[i])&&(POINTS[i]<50)) NOTES[4]++;
if((50<=POINTS[i])&&(POINTS[i]<60)) NOTES[5]++;
if(POINTS[i]==60) NOTES[6]++;
}
printf("\n");
// calcul de MAXN
MAXN=NOTES[0];
for(i=1;i<7;i++){
if(NOTES[i]>MAXN) MAXN=NOTES[i];
}
// dclaration du tableau d'affichage
int dstr[7][MAXN];
for(i=0;i<7;i++){
for(j=0;j<NOTES[i];j++){
dstr[i][j]=1;
}
for(j=NOTES[i];j<MAXN;j++){
dstr[i][j]=0;
}
}
printf("\n\n");
// affichage de la distribution
for(i=MAXN-1;i>=0;i--){
printf("%d >",i+1);
for(j=0;j<7;j++)
{
if(dstr[j][i]==1) printf(" #######");
else printf("
");
}
printf("\n");
}
printf("
+-------+-------+-------+-------+-------+-------+-------+\n");
printf("
I 0-9
I 10-19 I 20-29 I 30-39 I 40-49 I 50-59 I 60
I");
printf("\n\n");
system("PAUSE");
}
2/2