用C语言编写使用一维数组保存5名同学的成绩,计算并输出平均分
时间: 2024-02-13 10:03:49 浏览: 120
好的,针对你的问题,我可以提供以下的C语言代码来实现:
```c
#include <stdio.h>
int main() {
float grades[5];
float sum = 0, avg;
int i;
printf("请输入5名同学的成绩:\n");
for (i = 0; i < 5; i++) {
scanf("%f", &grades[i]);
sum += grades[i];
}
avg = sum / 5;
printf("平均分为:%.2f\n", avg);
return 0;
}
```
上述代码中,我们定义了一个一维数组 `grades` 来保存5名同学的成绩。使用 `for` 循环接受用户输入成绩,并且累加总成绩到 `sum` 变量中。
最后,计算平均分并输出。注意,我们使用了 `%.2f` 格式化符号,来保留小数点后两位,以便输出更加精确的结果。
希望这个代码对你有所帮助!
相关问题
用C语言编写代码实现求一维数组a[20]中的最大值及其位置。
以下是用C语言编写的代码,实现求一维数组a[20]中的最大值及其位置:
```c
#include <stdio.h>
#include <stdlib.h>
void findMax(int a[], int n, int *max, int *index) {
*max = a[0];
*index = 0;
for (int i = 1; i < n; i++) {
if (a[i] > *max) {
*max = a[i];
*index = i;
}
}
}
int main() {
int a[20] = {4, 2, 6, 8, 11, 5};
int max, index;
findMax(a, 20, &max, &index);
printf("Max = %d, Index = %d\n", max, index);
return 0;
}
```
该代码定义了一个函数`findMax`,该函数接收一个一维数组`a`、数组长度`n`以及两个指针`max`和`index`作为参数。函数通过遍历数组找到最大值及其位置,并将结果保存在`max`和`index`指针所指向的变量中。
在`main`函数中,我们定义了一个一维数组`a`,并调用`findMax`函数来求解最大值及其位置。最后,我们使用`printf`函数将结果输出到控制台。
用C语言编写函数求一个二维数组的最小值。
以下是一个实现此功能的 C 语言程序:
```c
#include <stdio.h>
int min2DArray(int arr[][3], int n, int m) {
int min = arr[0][0];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (arr[i][j] < min) {
min = arr[i][j];
}
}
}
return min;
}
int main() {
int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int n = 3, m = 3;
int min = min2DArray(arr, n, m);
printf("%d\n", min);
return 0;
}
```
程序首先定义了一个函数 `min2DArray`,它有三个参数,`arr` 表示二维数组,`n` 表示数组的行数,`m` 表示数组的列数。函数中定义了一个变量 `min`,初始化为数组的第一个元素 `arr[0][0]`。然后使用两重循环遍历数组中的每个元素,如果元素的值小于 `min`,则将 `min` 更新为该元素的值。最后返回 `min`。
主函数中定义了一个 3x3 的二维数组,并调用函数 `min2DArray` 求出数组中的最小值,并将结果保存在变量 `min` 中。最后,使用 `printf` 函数输出 `min` 的值,并在末尾加上换行符 `\n`。
当运行程序时,输出结果为 `1`。
阅读全文