动态分配内存统计成绩
时间: 2023-07-24 15:16:00 浏览: 72
好的,我理解您的问题是如何动态分配内存来统计成绩。一种实现方式是使用指针和动态内存分配函数,例如malloc。您可以先确定需要存储的成绩数量,然后使用malloc函数为其分配对应大小的内存空间,最后使用指针来访问和操作这些内存空间。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num_grades;
float* grades;
float sum = 0.0;
printf("请输入成绩个数:");
scanf("%d", &num_grades);
grades = (float*) malloc(num_grades * sizeof(float)); // 分配内存
if (grades == NULL) // 内存分配失败
{
printf("内存分配失败!\n");
exit(1);
}
for (int i = 0; i < num_grades; i++)
{
printf("请输入第%d个成绩:", i+1);
scanf("%f", &grades[i]);
sum += grades[i];
}
printf("平均成绩为:%.2f\n", sum / num_grades);
free(grades); // 释放内存
return 0;
}
```
在此示例中,我们首先使用scanf函数获取需要存储的成绩数量,然后使用malloc函数为其分配对应大小的内存空间,并使用指针grades指向这些内存空间。在获取每个成绩时,我们使用grades[i]来访问对应的内存空间。最后,我们使用free函数释放内存空间。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)