通过指针的方法,从键盘输入10个学生的成绩,并采用指针的方法,求出10个学生的平均成绩,保留两位小数
时间: 2024-01-02 09:04:34 浏览: 21
好的,这是一个关于指针和数组的C语言问题。以下是代码实现:
```c
#include <stdio.h>
int main() {
int scores[10]; // 定义存储成绩的数组
int *p = scores; // 定义指向数组的指针
float sum = 0; // 定义总分
float avg; // 定义平均分
// 通过指针从键盘输入10个学生的成绩
for (int i = 0; i < 10; i++, p++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%d", p);
sum += *p; // 计算总分
}
// 计算平均分
avg = sum / 10;
// 输出平均分,保留两位小数
printf("10个学生的平均成绩是:%.2f\n", avg);
return 0;
}
```
这段代码首先定义了一个长度为10的整型数组`scores`,并定义了一个指向该数组的指针`p`。然后通过`for`循环和指针`p`从键盘输入10个学生的成绩,同时计算总分。最后计算平均分,并使用`printf`输出结果,保留两位小数。
希望这个代码能够解决你的问题。
相关问题
c语言编写 通过指针的方法,从键盘输入10个学生的成绩,并采用指针的方法,求出10个学生的平均成绩,保留两位小数
好的,下面是通过指针的方法,从键盘输入10个学生的成绩,并采用指针的方法,求出10个学生的平均成绩的 C 代码:
```c
#include <stdio.h>
int main() {
float scores[10], sum = 0, avg;
float *p;
printf("请输入10个学生的成绩:\n");
for (p = scores; p < scores + 10; p++) {
scanf("%f", p);
sum += *p;
}
avg = sum / 10;
printf("10个学生的平均成绩为:%.2f\n", avg);
return 0;
}
```
首先定义一个大小为10的浮点数数组 `scores`,并定义一个指针 `p` 指向数组的第一个元素。然后使用 `for` 循环从键盘输入10个学生的成绩,使用指针 `p` 依次指向数组的每个元素,使用 `scanf` 函数将输入的成绩存储到数组中,并累加总成绩到 `sum` 变量中。最后计算10个学生的平均成绩,将结果存储到 `avg` 变量中,并使用 `printf` 函数输出结果,保留两位小数。
注意,在输入时需要使用 `*p` 获取指针所指向的元素的地址,并使用 `scanf` 函数将输入的成绩存储到该地址中。在累加总成绩时需要使用 `*p` 获取指针所指向的元素的值。
C语言通过指针的方法,从键盘输入10个学生的成绩,并采用指针的方法,求出10个学生的平均成绩,保留两位小数。
好的,以下是代码实现:
```c
#include <stdio.h>
int main() {
float scores[10];
float *p = scores; // 定义指向数组的指针
float sum = 0.0, avg = 0.0;
// 输入10个学生的成绩
for (int i = 0; i < 10; i++) {
printf("请输入第%d个学生的成绩:", i + 1);
scanf("%f", p + i);
sum += *(p + i); // 累加成绩
}
// 计算平均成绩
avg = sum / 10.0;
printf("10个学生的平均成绩为:%.2f", avg);
return 0;
}
```
解释一下代码:
1. 定义一个长度为10的`float`类型数组`scores`,用于存储10个学生的成绩;
2. 定义一个指向数组`scores`的指针`p`;
3. 循环输入10个学生的成绩,采用指针的方法,输入的成绩存储在数组`scores`中,同时累加成绩;
4. 计算平均成绩,输出结果。
希望能帮到你!