写一个C语言代码 输入3门课的成绩,计算平均成绩以及成绩的标准差并输出。要求必须用数学库函数sqrt。标准差公式如下:(参考附1:c语言函数库)
时间: 2024-12-11 16:26:22 浏览: 18
在C语言中,你可以使用math.h库中的sqrt()函数来计算平方根。以下是一个简单的程序,用于输入三门课程的成绩,计算平均成绩和标准差:
```c
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double average(double scores[], int n) {
double sum = 0;
for (int i = 0; i < n; i++) {
sum += scores[i];
}
return sum / n;
}
double standard_deviation(double scores[], int n) {
double mean = average(scores, n);
double variance = 0;
for (int i = 0; i < n; i++) {
variance += pow(scores[i] - mean, 2);
}
variance /= n;
return sqrt(variance);
}
int main() {
int num_courses;
printf("请输入课程数量:");
scanf("%d", &num_courses);
double scores[num_courses];
printf("请输入各门课程的成绩(共%d门):\n", num_courses);
for (int i = 0; i < num_courses; i++) {
scanf("%lf", &scores[i]);
}
double avg = average(scores, num_courses);
double std_dev = standard_deviation(scores, num_courses);
printf("平均成绩:%.2f\n", avg);
printf("标准差:%.2f\n", std_dev);
return 0;
}
```
在这个程序中,`average()`函数计算平均值,`standard_deviation()`函数则根据给定公式计算标准差。注意,由于C标准库没有直接提供计算方差的函数,所以这里我们手动计算了方差后再求其平方根。
阅读全文