| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1968 人关注过本帖
标题:指针和二维数组的问题,求数组中奇数之和与偶数之和
取消只看楼主 加入收藏
fengyinxqy
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2020-5-2
结帖率:92.31%
收藏
已结贴  问题点数:5 回复次数:0 
指针和二维数组的问题,求数组中奇数之和与偶数之和
首先这是题目
编写函数 void fun(int a[ ][ ],int n,int m, int *odd, int *even),其功能是计算二维数组a[n][m]元素中的所有奇数之和与所有偶数之和。利用指针odd返回奇数之和,利用指针even返回偶数之和。编写程序,在主函数中初始化二维数组a[5]6],调用函数fun后输出数组a及计算结果。


因为我不会拿a[][]作为参数写,在函数那里会搞错,所以我改成了这样,求如何改符合题意使用a[][]作为函数参数。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define N 5
#define M 6
void fun(int (*a)[6],int n,int m,int *odd,int *even);//函数声明。其中odd返回奇数的和,even返回偶数。
int main()
{
    int a[N][M]={{1,2,3,4,5,6},{7,8,9,10,11,12},{13,14,15,16,17,18},{19,20,21,22,23,24},{25,26,27,28,29,30}};
    int (*p)[M]=a;
    int qishu,oushu;
    fun(p,5,6,&qishu,&oushu);
    printf("qishu_sum=:%d\noushu_sum=:%d",qishu,oushu);
    return 0;
}
void fun(int (*a)[6],int n,int m,int *odd,int *even)
{
    *odd=0;
    *even=0;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            if (*(*(a + i) + j)%2==0)
            {
                *odd=*odd+*(*(a + i) + j);
            }
            else if (*(*(a + i) + j)%2==1)
            {
                *even=*even+*(*(a + i) + j);
            }
        }
    }
    return *odd,*even;
    
}
搜索更多相关主题的帖子: 之和 奇数 even int 偶数 
2020-05-08 18:44
快速回复:指针和二维数组的问题,求数组中奇数之和与偶数之和
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053061 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved