酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用c语言编写,请输入若干个学生成绩,5到10人,超过范围提示错误信息后重新输入;每个学生的成绩不超过100或者小于0,超过范围提示错误信息后重新输入;统计输出最高分,最低分,平均成绩,标准差,并按成绩输出由高到低排序。其中排序成绩用排序函数实现,函数名自行拟定

```c #include <stdio.h> #include <math.h> #define MAX_NUM 10 void bubbleSort(int arr[], int n) { int i, j, temp; for (i = 0; i < n-1; i++) { for (j = 0; j < n-1-i; j++) { if (arr[j] < arr[j+1]) { temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int main() { int i, num, scores[MAX_NUM], sum = 0; float average, std_dev = 0.0; do { printf("Enter the number of students (5-10): "); scanf("%d", &num); } while (num < 5 || num > 10); for (i = 0; i < num; i++) { do { printf("Enter the score for student %d: ", i+1); scanf("%d", &scores[i]); } while (scores[i] < 0 || scores[i] > 100); sum += scores[i]; } average = (float)sum / num; for (i = 0; i < num; i++) { std_dev += pow(scores[i] - average, 2); } std_dev = sqrt(std_dev / num); bubbleSort(scores, num); printf("\nHighest score: %d\n", scores[0]); printf("Lowest score: %d\n", scores[num-1]); printf("Average score: %.2f\n", average); printf("Standard deviation: %.2f\n", std_dev); printf("\nSorted scores (high to low):\n"); for (i = 0; i < num; i++) { printf("%d\n", scores[i]); } return 0; } ``` [2024-11-11 16:19:52 | AI写代码神器 | 896点数解答]

相关提问