I2luY2x1ZGUgJmx0O3N0ZGlvLmgmZ3Q7CgojZGVmaW5lIE5VTV9TVFVERU5UUyA1CgppbnQgbWFpbigpIHsKICAgIGNoYXIgc3R1ZGVudF9pZFtOVU1fU1RVREVOVFNdWzIwXTsKICAgIGludCBzY29yZXNbTlVNX1NUVURFTlRTXTsKICAgIGNoYXIgZ3JhZGVzW05VTV9TVFVERU5UU107CiAgICBpbnQgc2NvcmVfcmFuZ2VzWzVdID0gezB9OwogICAgZmxvYXQgdG90YWxfc2NvcmUgPSAwLjA7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgJmx0OyBOVU1fU1RVREVOVFM7IGkrKykgewogICAgICAgIHByaW50ZigmcXVvdDtFbnRlciBzdHVkZW50ICVkIElEOiAmcXVvdDssIGkgKyAxKTsKICAgICAgICBzY2FuZigmcXVvdDslcyZxdW90Oywgc3R1ZGVudF9pZFtpXSk7CgogICAgICAgIHByaW50ZigmcXVvdDtFbnRlciBzdHVkZW50ICVkIFNjb3JlOiAmcXVvdDssIGkgKyAxKTsKICAgICAgICBzY2FuZigmcXVvdDslZCZxdW90OywgJmFtcDtzY29yZXNbaV0pOwoKICAgICAgICBpZiAoc2NvcmVzW2ldICZndDs9IDAgJmFtcDsmYW1wOyBzY29yZXNbaV0gJmx0Oz0gNDkpIHsKICAgICAgICAgICAgZ3JhZGVzW2ldID0gJ0YnOwogICAgICAgICAgICBzY29yZV9yYW5nZXNbMF0rKzsKICAgICAgICB9IGVsc2UgaWYgKHNjb3Jlc1tpXSAmZ3Q7PSA1MCAmYW1wOyZhbXA7IHNjb3Jlc1tpXSAmbHQ7PSA1OSkgewogICAgICAgICAgICBncmFkZXNbaV0gPSAnRCc7CiAgICAgICAgICAgIHNjb3JlX3Jhbmdlc1sxXSsrOwogICAgICAgIH0gZWxzZSBpZiAoc2NvcmVzW2ldICZndDs9IDYwICZhbXA7JmFtcDsgc2NvcmVzW2ldICZsdDs9IDY5KSB7CiAgICAgICAgICAgIGdyYWRlc1tpXSA9ICdDJzsKICAgICAgICAgICAgc2NvcmVfcmFuZ2VzWzJdKys7CiAgICAgICAgfSBlbHNlIGlmIChzY29yZXNbaV0gJmd0Oz0gNzAgJmFtcDsmYW1wOyBzY29yZXNbaV0gJmx0Oz0gNzkpIHsKICAgICAgICAgICAgZ3JhZGVzW2ldID0gJ0InOwogICAgICAgICAgICBzY29yZV9yYW5nZXNbM10rKzsKICAgICAgICB9IGVsc2UgaWYgKHNjb3Jlc1tpXSAmZ3Q7PSA4MCAmYW1wOyZhbXA7IHNjb3Jlc1tpXSAmbHQ7PSAxMDApIHsKICAgICAgICAgICAgZ3JhZGVzW2ldID0gJ0EnOwogICAgICAgICAgICBzY29yZV9yYW5nZXNbNF0rKzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBwcmludGYoJnF1b3Q7SW52YWxpZCBzY29yZSwgcGxlYXNlIGVudGVyIGEgbnVtYmVyIGJldHdlZW4gMC0xMDBcbiZxdW90Oyk7CiAgICAgICAgICAgIGktLTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQoKICAgICAgICB0b3RhbF9zY29yZSArPSBzY29yZXNbaV07CiAgICB9CgogICAgcHJpbnRmKCZxdW90O1xuUmVzdWx0czpcbiZxdW90Oyk7CiAgICBmb3IgKGludCBpID0gMDsgaSAmbHQ7IE5VTV9TVFVERU5UUzsgaSsrKSB7CiAgICAgICAgcHJpbnRmKCZxdW90O0lEOiAlcyBTY29yZTogJWQgR3JhZGU6ICVjXG4mcXVvdDssIHN0dWRlbnRfaWRbaV0sIHNjb3Jlc1tpXSwgZ3JhZGVzW2ldKTsKICAgIH0KCiAgICBwcmludGYoJnF1b3Q7XG5TY29yZSBEaXN0cmlidXRpb246XG4mcXVvdDspOwogICAgcHJpbnRmKCZxdW90OzAtNDkgICA6ICVkXG4mcXVvdDssIHNjb3JlX3Jhbmdlc1swXSk7CiAgICBwcmludGYoJnF1b3Q7NTAtNTkgIDogJWRcbiZxdW90Oywgc2NvcmVfcmFuZ2VzWzFdKTsKICAgIHByaW50ZigmcXVvdDs2MC02OSAgOiAlZFxuJnF1b3Q7LCBzY29yZV9yYW5nZXNbMl0pOwogICAgcHJpbnRmKCZxdW90OzcwLTc5ICA6ICVkXG4mcXVvdDssIHNjb3JlX3Jhbmdlc1szXSk7CiAgICBwcmludGYoJnF1b3Q7ODAtMTAwIDogJWRcbiZxdW90Oywgc2NvcmVfcmFuZ2VzWzRdKTsKCiAgICBwcmludGYoJnF1b3Q7XG5BdmVyYWdlIFNjb3JlOiAlLjJmXG4mcXVvdDssIHRvdGFsX3Njb3JlIC8gTlVNX1NUVURFTlRTKTsKCiAgICByZXR1cm4gMDsKfQ==
#include <stdio.h>
#define NUM_STUDENTS 5
int main() {
char student_id[NUM_STUDENTS][20];
int scores[NUM_STUDENTS];
char grades[NUM_STUDENTS];
int score_ranges[5] = {0};
float total_score = 0.0;
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("Enter student %d ID: ", i + 1);
scanf("%s", student_id[i]);
printf("Enter student %d Score: ", i + 1);
scanf("%d", &scores[i]);
if (scores[i] >= 0 && scores[i] <= 49) {
grades[i] = 'F';
score_ranges[0]++;
} else if (scores[i] >= 50 && scores[i] <= 59) {
grades[i] = 'D';
score_ranges[1]++;
} else if (scores[i] >= 60 && scores[i] <= 69) {
grades[i] = 'C';
score_ranges[2]++;
} else if (scores[i] >= 70 && scores[i] <= 79) {
grades[i] = 'B';
score_ranges[3]++;
} else if (scores[i] >= 80 && scores[i] <= 100) {
grades[i] = 'A';
score_ranges[4]++;
} else {
printf("Invalid score, please enter a number between 0-100\n");
i--;
continue;
}
total_score += scores[i];
}
printf("\nResults:\n");
for (int i = 0; i < NUM_STUDENTS; i++) {
printf("ID: %s Score: %d Grade: %c\n", student_id[i], scores[i], grades[i]);
}
printf("\nScore Distribution:\n");
printf("0-49 : %d\n", score_ranges[0]);
printf("50-59 : %d\n", score_ranges[1]);
printf("60-69 : %d\n", score_ranges[2]);
printf("70-79 : %d\n", score_ranges[3]);
printf("80-100 : %d\n", score_ranges[4]);
printf("\nAverage Score: %.2f\n", total_score / NUM_STUDENTS);
return 0;
}