首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >练习14—元素求和

练习14—元素求和

作者头像
攻城狮杰森
发布2022-06-03 11:26:25
发布2022-06-03 11:26:25
2550
举报
文章被收录于专栏:技术集锦技术集锦

题目

从键盘输入n (个数不限)个整形数字,放入数组PArray, 调用函数 int *Calc(int *PA,int Num); 计算数组中所有元素的和返回到 main 函数,输出计算结果。

解题步骤

(1)定义数组、变量; (2)接收设定值; (3)分配内存空间; (4)元素求和; (5)输出;

C语言

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>

int *Calc(int *PA, int Num)
{

    int sum = 0, i;
    for (i = 0; i < Num; i++)
    {
        sum += PA[i];
    }
    PA[0] = sum;
    return PA;
}

int main()
{
    int *PArray = NULL;
    int Total = 0, i = 0;
    printf("enter the number of elements in arrays:\n");
    scanf("%d", &Total);
    PArray = (int *)malloc(Total * sizeof(int));
    printf("give %d element assignment:\n", Total);
    for (i = 0; i < Total; i++)
    {
        scanf("%d", &PArray[i]);
    }
    PArray = Calc(PArray, Total);
    printf("Sum=%d\n", *PArray);
    free(PArray);
    return 0;
}

说明

  1. 使用指针,及时初始化;
  2. 动态分配内存空间,包含头文件<stdlib.h>,函数原型void* malloc (size_t size);返回值类型是void *,void 表示返回未知指针类型。
  3. 通常,malloc()使用时需要进行强制类型转换,如(int *)malloc(Total * sizeof(int));修改 void 指针为所需类型;
  4. Calc()为指针类型函数,值 sum 返回主函数时不可直接返回。将 sum 值存入数组首地址,也就是作为第一个元素,返回数组首地址即可;
  5. 动态申请的内存空间最后要使用free()释放;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解题步骤
  • C语言
    • 说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档