《程序设计基础实训指导教程-c语言》
ISBN 978-7-03-032846-5
p143
7.1.2 上级实训内容

【实现内容8】有一个5 * 5的二维数组,保留主对角线上的元素,并使其他元素均为0,要求用函数和子函数完成

  1. 主对角线为左上角到右下角这条斜线上的元素
如图所示:0011223344
  1. 副对角线为右上角到左下角这条斜线上的元素
#include<stdio.h>
#define M 5
#define N 5
void num_scanf(int [][N]);  //声明输入函数
void num_change(int [][N]); //声明修改函数
void num_printf(int [][N]); //声明输出函数
int main()
{int a[M][N];num_scanf(a);  //数组首地址传入,调用输入函数num_change(a);   //数组首地址传入,调用修改函数num_printf(a);   //数组首地址传入,调用输出函数return 0;}
void num_scanf(int b[][N])
{printf("输入%d * %d的数组元素,以空格隔开:\n",M,N);int i,j;for(i=0l;i<M;i++)   //输入数组元素{for(j=0;j<N;j++){scanf("%d",&b[i][j]);}}printf("\n输入验证!\n");   //验证for(i=0l;i<M;i++){for(j=0;j<N;j++){printf("%d\t",b[i][j]);}printf("\n");}
}
void num_change(int c[][N])
{int i,j;for(i=0;i<M;i++){for(j=0;j<N;j++){if(i!=j)    //数组下标不相同,元素赋值为0{c[i][j]=0;}}}
}
void num_printf(int x[][N]) //输出
{int i,j;printf("\n输出更改后的数组(保留主对角线上的元素):\n");for(i=0;i<M;i++){for(j=0;j<N;j++){printf("%d\t",x[i][j]);}printf("\n");}
}

有一个5 * 5的二维数组,保留主对角线上的元素,并使其他元素均为0,要求用函数和子函数完成相关推荐

  1. java---编写一个方法,返回一个int型的二维数组,数组中的元素通过解析字符串参数获得。

    题目: 编写一个方法,返回一个int型的二维数组,数组中的元素通过解析字符串参数获得,字符串如下"1,2:3,4,5:6,7"对应的数组为: d[0][0]=1 d[0][1]=2 ...

  2. /*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。

    package HomeWork; import java.util.Arrays; import java.util.Scanner; /*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输 ...

  3. C语言试题三十七之求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数。

    1. 题目 请编写一个函数function,它的功能是:求除一个2×m整型二维数组中最大元素的值,并将此值返回调用函数. 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中 ...

  4. Description 给出一个N*N的二维数组,求出其中的最大数和其所在的行号、列号(均从0开始计算)。 Input 第1行是一个正整数N(2≤N≤10),表示二维数组的大小。后跟N行,每行N个数。

    /*Description 给出一个N*N的二维数组,求出其中的最大数和其所在的行号.列号(均从0开始计算). Input 第1行是一个正整数N(2≤N≤10),表示二维数组的大小.后跟N行,每行N个 ...

  5. C语言:找出一个已经赋值的二维数组里面的最大值和最小值

    分析: 这个题目相对来说比较好理解,首先我们需要了解二位数组的下标是什么意思,a[3][2]这个数组代表的意思是这是一个具有3行2列的数组,数组名叫做a.数组名后面的第一个数字代表这个二维数组的行数, ...

  6. matlab二维怎么定义,matlab中如何定义一个10*2的二维数组,用来储存后面算出的数值...

    答:可以先定义,这样可以预先分配空间,B = zeros(20, 2); 也可以运算出一个结果往数组里增添1列,动态来增加. matlab二维数组的创建: 二维数组实际上也是一个矩阵.应此直接创建一个 ...

  7. python创建一个n*m的二维数组_Python中创建二维数组

    Python中创建二维数组 二维数组 二维数组本质上是以数组作为数组元素的数组,即"数组的数组",类型说明符 数组名[常量表达式][常量表达式].二维数组又称为矩阵,行列数相等的矩 ...

  8. 剑指算法:二维数组的查找

    首先需要明确: 什么是二维数组,二维数组和一维数组一样,一维数组存放元素,二维数组存放一维数组,实质也是存储数据的一个容器对象. 二维数组在定义上和一维数组一样,动态初始化和静态初始化. 二维数组的动 ...

  9. C语言 基础60题(2)——二维数组操作

    本篇内容主要是是对二维数组操作,掌握二维数组作为参数传递时,如何用指针表示. 第10题 double  sum_2diagonal(double* array_2d,  unsigned int m, ...

最新文章

  1. 仿百度文库方案[openoffice.org 3+swftools+flexpaper](三) 之 使用JODConverter将office文档转换为pdf...
  2. 字节跳动涉代码抄袭被诉陪22.74亿,连错误的函数都搬?
  3. MySQL高级 - 查询缓存 - 失效场景
  4. react dispatch_React测试的那些事(三) React Hook 测试实例
  5. word中一直提示校对错误,如何关闭当前文档校对功能
  6. 中移4G模块-ML302-OpenCpu开发-GPIO
  7. 解决LInux更新慢的问题, 更换国内软件源
  8. 北京大学联合复旦大学发布中文空间语义理解评测SpaCE2021
  9. python模块安装位置_查看python模块的安装路径
  10. 苹果推送证书不受信任解决办法2022年
  11. 电梯远程监控系统方案
  12. 4位先行进位加法器_第4章 C语言基础以及流水灯的实现
  13. 解决退格键在MinGW的vim中不起作用的问题
  14. 【杂谈】当你在凝视深渊的时候,深渊也正在凝视着你
  15. Unity TTS文字转语音 朗读 基于SpeechLib
  16. 七年交易经验,倾囊分享中长线交易秘诀
  17. 2019前端最全面试题
  18. 大数据时代的隐私保护
  19. 碰到国内外虚拟机无法识别usb加密狗或者银行U盾问题,大家请进入!!!
  20. WC酱油记——博客一个月没更新留念

热门文章

  1. FSWD_3_JavaScriptAdvance
  2. 谭浩强《C++程序设计》学习
  3. ubuntu18.04.4 pip3 换清华、阿里、豆瓣 源
  4. 统计学习导论 Chapter2--What Is Statistical Learning?
  5. 语义分割--Efficient Deep Models for Monocular Road Segmentation
  6. SRTP是如何工作的
  7. numpy中的cov(方差计算)简单介绍
  8. C++ 汇编代码查看
  9. linux webservice服务器端,Linux查看资源使用情况 webservice服务端口监控
  10. @NotNull JSR-303验证