二维数组求平均值(指针的使用)

#include<stdio.h>

int main()
{
    int buf[3][5] ={{1,2,3,4,5},{4,5,6,7,8},{7,8,9,10,11}};
    int i;
    int j;
    //求行平均值
    for(i = 0; i < 3; i++)
    {
        int sum = 0;
        for(j = 0; j < 5; j++)
        {
            sum += (*(*(buf + i) + j));
        }
        printf("sum = %d\n",sum/5);
    }
    //求列平均值
    for(i = 0; i < 5; i++)
    {
         int sum = 0;
        for(j = 0; j < 3; j++)
        {
             sum += (*(*(buf + j) + i));
        }
        printf("sum = %d\n",sum/3);
    }
    return 0;
}

原文地址:https://www.cnblogs.com/wanghao-boke/p/11020386.html

时间: 2024-10-22 15:07:51

二维数组求平均值(指针的使用)的相关文章

编程题:指向二维数组元素的指针变量。功能:已知二维数组a[2][3],输入输出全部元素。

#include<stdio.h> void main() { int a[2][3],i,j; int *p; /*用坐标法输入二维数组元素*/ for(i=0;i<2;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); /*用指针法输出二维数组元素*/ p=a[0];         /*等价于p&a[0][0];*/ for(;p<a[0]+6;p++)   printf("%4d&quo

指针与一维数组和二维数组以及字符串指针数组的学习笔记

废话不多少,直接上代码,关键的东西已经注释了,看注释信息理解即可. 说明:本程序讨论了一维数组和指针的关系,谈论了二维数组和指针之间的关系,讨论了字符串数组指针数组和指针之间的关系,代码中以给出定义的方法和简单的使用,但是有些使用方法并没有列出,如果需要, 请自行加入printf调试即可. 转贴请注明出处,欢迎和我讨论,谢谢. ----------cofin_add #include <stdio.h> void fun(int m, char *((*p)[m])){ int i = 0;

二维数组求子数组之和最大值(首尾相接, 圆柱)

问题:求二维数组的子数组之和的最大值(首尾相接,即形成圆柱) 成员: 陈晨:负责代码复审和代码测试计划 王颖瑞:负责程序分析,代码编程 思路:对于这个问题,我们可以结合之前的实验(二维数组求子数组之和的最大值和首尾相连一维数组的子数组之和的最大值),把为二维数组的列扩大二倍,之后想一维数组(首尾相连)一样,把二维数组分成不同的几个二维数组.之后就分开求不同的二维数组的子数组的最大值,最后之间比较,求出总的最大值. 代码: #include<iostream> using namespace s

二维数组与双重指针(转)

原文地址:https://blog.csdn.net/u013684730/article/details/46565577 一.简介 1.二维数组 int array[10][10];    函数声明: void fun(int a[][10])    函数调用:fun(array);   访问: 一般使用a[i][j]来访问数组中的元素 2.指针数组 int *array[10];    函数声明:void fun(int *a[10]);    函数调用:fun(array);    访问

C++ 二维数组(双重指针作为函数参数)

本文的学习内容参考:http://blog.csdn.net/yunyun1886358/article/details/5659851 http://blog.csdn.net/xudongdong99/article/details/6723163 1.使用二维数组作为形参的例子: void func(int arr[][10]) { } int main() { int array[10][10]; func(array); //用二维数组名作为实参,调用函数 } 上面的例子可以编译通过,

二维数组的平均值求法

1 package com.shuzu; 2 3 public class Average { 4 public static void main(String[] args) { 5 int[][] a = {{2,3},{6,7},{8,20,20}}; 6 Average ave = new Average(); 7 ave.strAvg(a); 8 System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

二维数组求最大子数组

设计思路: 首先定义产生二维数组,定义可输入二维数组行和列,各位数随机产生: 然后进行最大子数组的求和比较,从每行的第一个数为子数组的起点开始进行不同的子数组遍历比较,只存放最大的子数组,以及记录最大子数组的位置,从第一个数开始每行每列进行求和比较,以求得最大子数组的值,以及最大子数组所包含的数: 最后进行结果的输出与验证. 代码: 法一: package zishuzu; import java.util.*; public class zuixiaozishuzu { public stat

C语言笔记(二维数组与数值指针)

一.关于二维数组和二维数组区别 (1)一维数组在内存中是连续分布存储的,同样,二维数组也是在内存连续存储的.所以从内存的角度来分析,一维数组和二维数组其实没有本质区别. (2) 二维数组可以使用一维数组来代替.但是在实际的应用中,有时候使用二维数组会更加直观,方便程序的编程. (3)两者在内存使用效率上是一模一样的. 二.二维数组的第一维和第二维概念 (1)例如 int a[2][5]中,前面的2表示第一维:后面的5表示第二维 (2) 二维数组的第一维表示最外部的那一层,第一维本身也是一个数组,

环形二维数组求最大子矩阵

1.设计思路 结合环一位数组的开发经验,拓展到二维.与前者主要是时间复杂度没有做处理. 2.源代码 1 //作者:王炳午.董龙洋.日期:2015.3.24. 2 #include <iostream> 3 #include<stdlib.h> 4 #include<time.h> 5 using namespace std; 6 int maxMax(int amax[]) //求最大 7 { 8 int i; 9 int sum = 0; 10 int max; 11