对不确定数组长度和内容的数组元素求和

如题:
题目

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
	int n;
	scanf("%d",&n);

	int *num = (int*)malloc(sizeof(int)*n);
	for(int i = 0; i < n; i ++)
        scanf("%d",&num[i]);

    int min = num[0];
    int max = num[0];
    int sum = 0;
    for(int i = 0; i < n; i ++)
    {
        if(num[i] > max)
            max = num[i];
        if(num[i] < min)
            min = num[i];
        sum += num[i];
    }
    printf("%d\n%d\n%d",max,min,sum);
    free(num);
	return 0;
}

这里使用的malloc函数的步骤:

  1. 定义长度n;
  2. 输入长度n;
  3. 定义动态数组,动态分配内存;
  4. 使用该数组、内存;
  5. 释放该数组指向的内存空间。

该程序结果

结果
其中,前两行的第一行是输入n,第二行是输入数组;后三行分别是最大值、最小值和求和结果。
补充:
这道题相对比较简单,稍微使用动态内存分配就可以实现,需要注意的是要释放内存空间。

发布了7 篇原创文章 · 获赞 3 · 访问量 675

猜你喜欢

转载自blog.csdn.net/qq_43634664/article/details/103190340