多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# C 程序:使用动态内存分配查找最大数字 > 原文: [https://www.programiz.com/c-programming/examples/dynamic-memory-allocation-largest](https://www.programiz.com/c-programming/examples/dynamic-memory-allocation-largest) #### 在此示例中,您将学习在动态分配的内存中查找用户输入的最大数字。 要理解此示例,您应该了解以下 [C 编程](/c-programming "C tutorial")主题: * [C 指针](/c-programming/c-pointers) * [C 动态内存分配](/c-programming/c-dynamic-memory-allocation) * [C `for`循环](/c-programming/c-for-loop) * * * ## 在动态分配的内存中找到最大的元素 ```c #include <stdio.h> #include <stdlib.h> int main() { int num; float *data; printf("Enter the total number of elements: "); scanf("%d", &num); // Allocating memory for num elements data = (float *)calloc(num, sizeof(float)); if (data == NULL) { printf("Error!!! memory not allocated."); exit(0); } // Storing numbers entered by the user. for (int i = 0; i < num; ++i) { printf("Enter Number %d: ", i + 1); scanf("%f", data + i); } // Finding the largest number for (int i = 1; i < num; ++i) { if (*data < *(data + i)) *data = *(data + i); } printf("Largest number = %.2f", *data); return 0; } ``` **输出** ```c Enter the total number of elements: 5 Enter Number 1: 3.4 Enter Number 2: 2.4 Enter Number 3: -5 Enter Number 4: 24.2 Enter Number 5: 6.7 Largest number = 24.20 ``` 在程序中,要求用户输入元质数,该元质数存储在变量`num`中。 我们将为`num`个浮点值分配内存。 然后,要求用户输入`number`数字。 这些数字存储在动态分配的内存中。 最后,确定这些数字中最大的数字并将其打印在屏幕上。