Online C Compiler
Ouvrir dans le compilateur

Édition pédagogique en français

Saisie et parcours d’un tableau en C

Lisez avec scanf et parcourez les éléments sans dépasser la capacité.

Ouvrir dans le compilateur

Saisie et parcours d’un tableau en C
Lisez avec scanf et parcourez les éléments sans dépasser la capacité.

Définissez une capacité et validez le nombre d’éléments avant la saisie. Pour un entier, scanf reçoit l’adresse &arr[i]. Vérifiez chaque lecture avant d’utiliser la valeur.

Les indices valides vont de 0 à N - 1. Gardez la même longueur pour lire, traiter et afficher. i <= N provoque un accès supplémentaire. La capacité peut dépasser le nombre d’éléments effectivement remplis.

Testez un élément, des valeurs négatives et le maximum autorisé. Transmettez toujours la longueur séparément lorsqu’une fonction reçoit le tableau.

Code source

#include <stdio.h>

#define MAX_SIZE 100

int main(void) {
    int arr[MAX_SIZE];
    int n;
    int sum = 0;

    printf("Enter number of elements (1 to %d): \n", MAX_SIZE);
    if (scanf("%d", &n) != 1 || n <= 0 || n > MAX_SIZE) {
        fprintf(stderr, "Error: Invalid number of elements.\n");
        return 1;
    }

    printf("Reading %d integers from input...\n", n);
    for (int i = 0; i < n; i++) {
        if (scanf("%d", &arr[i]) != 1) {
            fprintf(stderr, "Error reading element at index %d.\n", i);
            return 1;
        }
        sum += arr[i];
    }

    printf("\n--- Array Elements Summary ---\n");
    for (int i = 0; i < n; i++) {
        printf("arr[%d] = %d (Address: %p)\n", i, arr[i], (void *)&arr[i]);
    }

    double average = (double)sum / n;
    printf("\nTotal Sum = %d\n", sum);
    printf("Average   = %.2f\n", average);

    return 0;
}
Ouvrir dans le compilateur

Résultat attendu

Enter number of elements (1 to 100): 
Reading 5 integers from input...

--- Array Elements Summary ---
arr[0] = 10 (Address: 0x...)
arr[1] = 25 (Address: 0x...)
arr[2] = 40 (Address: 0x...)
arr[3] = 55 (Address: 0x...)
arr[4] = 70 (Address: 0x...)

Total Sum = 200
Average   = 40.00

Questions fréquentes

Pourquoi le code et certains résultats restent-ils en anglais ?

Les mots-clés C, les identifiants, les commentaires du programme et les sorties attendues restent ceux de la version originale pour conserver un code exécutable et des tests cohérents. Les explications et les consignes sont traduites.