C语言:编写函数fun返回二维数组周边元素之和,咋写?

要求:
(1)数组行列大小用宏定义。
(2)主函数中定义数组,随机赋值(0~99)并输出到屏幕。
(3)主函数调用函数fun完成结果输出。

入门到放弃?
“C/C++真的太难学了,我准备放弃了!”
很多初学者在学完C和C++的基本语法后,就停滞不前了,最终走向“从入门到放弃”。其实,我们初学者最需要的不是HelloWorld,也不是语法知识的堆砌,需要的只是实战项目的磨砺。
一个项目一座城
一个项目,一座城。写完一个项目,攻克一座城池。
以下十三个循序渐进的项目,让你从小白,快速晋升为大牛。
奇牛项目1《黑客攻击系统》-第一城
从完全零基础开始,手把手开发这款黑客攻击系统。
通过用户端的输入, 向服务器端木马发送攻击命令,实现多种方式的攻击效果。
通过这个项目,可以掌握C/C++基础(数据类型,变量的使用,各种运算,控制语句,命名空间,输入输出,函数调用,库文件的使用等),直接使用图形库来实现窗口用户界面,直接使用库文件来实现攻击效果。
奇牛项目2 《人工智能地形导航系统》-第二城‍‍
具备C/C++基础后,进一步学习二维数组、多维数组在工程项目中的应用。
根据地图的海拔数据,来识别地形上的各个峰点(最高点)和谷点(最低点),以确定地形中峰点的数目和位置,为探测器提供导航数据。
通过这个项目,可以深刻掌握二维数组、多维数组的本质,以及在工程项目中的应用方法。
奇牛项目3《人工智能双色球预测系统》-第三城‍
根据笔者Rock的闲暇之作改写,体会以小博大的乐趣。
通过自动分析博彩官网的海量数据,根据自定义的统计预测规则,来捕捉下期开奖的最大概率。
通过这个项目,掌握指针的使用,以及指针在工程项目中的应用。

奇牛项目4《地震监测系统》-第四城‍
地震检波器每隔固定的时间间隔,采样一次预测地震的能量数据,并保存到文件中。地震监测系统从这个文件中读取相应的能量数据,测试在给定的时间点上,一个短时间窗口内的取样值与一个长时间窗口内取样值的商,如果这个比例高于给定的阈值,那么在这个事件点上极有可能发生地震。
通过这个项目,掌握C/C++文件的读写、以及动态内存管理的使用,以及它们在工程项目中的应用。
奇牛项目5《智能婚恋交友系统》-第五城
程序员的相亲活动,低调且奢华。这个项目直接致敬某XX佳缘婚恋交友平台,毕竟Rock也曾经是该平台的注册会员,并在其中活跃良久。
这个项目实现了该平台的核心功能-高匹配度自动交友。
通过这个项目,掌握C++的面向对象思想、继承和派生、多态、友元、运算符重载等核心机制,以及它们在工程中的应用。
奇牛项目6《广州军区微波通信系统》-第六城
这个项目是根据笔者Rock负责研发的广州军区南海无线微波通信系统改写的, 已去除敏感数据。
这个项目是在菲律宾、越南肆意骚扰我国南海岛屿的背景下研发的。通过这个项目,掌握C++核心机制-多态的使用,以及在军事工程项目中的应用。
奇牛项目7《模板库高级编程-万能择优器》-第七城
在掌握了C、C++的核心特性之后,能否掌握C++标准模板库STL, 是区分一名合格C++程序员的重要标志。
这个项目通过构建一个通用的择优器,来掌握C++泛型编程的使用,以及在自定义模块开发中的应用。
奇牛项目8《游戏服务器端数据库》-第八城
在征服了C/C++语言的核心特性之后,很多人会感到新的迷茫:C/C++语言到底能做什么?海量用户数据怎么处理?
这个项目从零开始构建大型游戏数据库,以掌握数据库开发的方法,以及在产品级项目中的应用。
奇牛项目9 《企业QQ》-第九城
很多C/C++初学者,认为C和C++虽然很强大,但是对于用户界面开发,就不是很方便了。

其实对于用户界面的开发,C和C++,尤其是C++,是非常强悍的。各种绚丽的用户界面,C++都能游刃有余地呈现。
这个项目能够深度掌握基于C++的用户界面开发,以及网络编程,实现产品级的应用效果。
奇牛项目10 《跨平台Word》-第十城
IT外包开发时,用户的需求总是千变万化,界面和功能都需要做特殊的定制,这个项目让我们掌握开发特定UI和特定功能的应用软件,为以后独立承接IT外包打下足够的基础。
奇牛项目11《 游戏外*修改器》-第十一城
外*、逆向、破解无疑是每一位程序员为之向往的“禁地”,这个项目融合逆向、汇编、DLL注入、内存篡改等黑技术,开发客户端游戏的外挂,实现对游戏数据的截取、修改。
通过这个项目,可以深刻掌握指针、逆向、DLL注入等技术的使用,以及Windows客户端应用的开发。
奇牛项目12 《人工智能中国象棋人机对弈》-第十二城
完胜李世石和柯洁的阿尔法狗,其底层框架就是使用C++实现的。
除了围棋,C++更是在象棋领域完胜人类。这个项目,就是使用C++打造的人工智能象棋。
通过这个项目,可以轻松掌握各种复杂数据结构,把个人编程能力提升到极致。
奇牛项目13 《电信级大型互联网项目-共享顺风车系统》-第十三城
掌握C、C++客户端开发之后,高性能服务器开发,成为判别C++高级程序员的重要标志。这个项目将实现电信级的大型互联网服务器。
通过奇牛编程的项目实战,可以掌握百万级高并发服务器的核心技术(线程池、epool架构、协议开发等)
敲代码的夜,清脆的键击,孤独而坚定。
弹指间,攻城略地,早已硝烟弥漫。
十三座城池,待你来征服。
经过以上13个项目的修炼,你已经从小白蜕变为能够驾驭大型项目开发的大牛了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-20
1 模块化程序设计
在程序设计的过程中,有一个很重要的思想是:程序功能模块化。就是对程序的功能进行划分,每一个功能模块使用一个函数来封装实现。
例如,开发一个图书馆管理系统,这个系统涉及到学生借书、还书的操作。那么,把借书和还书分解成一个独立的功能模块,每个功能模块使用独立的函数来实现。
所以,下面我们介绍函数的定义和使用,灵活使用函数来设计程序。
2 引出函数定义
在讲解第一个C语言程序例子的时候,我们就接触到了“函数”;并且知道,函数就像是一个工具,我们可以用它来完成某项工作。我们再来看看这个程序的代码,代码如下:
深入学习,可以交个朋友,工人人人号:韦凯峰linux编程学堂
可以看到,在这个程序中,用到了三个函数,有main函数、printf函数、system函数;其中,main函数是我们自己定义的函数,printf函数和system函数是Linux系统提供的函数。其中Linux系统提供的函数会封装到一个库中,通过库的方式给用户使用,所以,也称为:库函数。
所以,从函数定义的角度来讲,函数可以分为:用户自定义函数和库函数。
(1) 用户自定义函数:就是我们自己使用C语言来编写定义和实现的函数,例如main函数,就是我们自己定义的函数。
(2) 库函数:就是C语言系统提供的函数,例如printf函数,我们不需要定义和实现它;可以直接使用它。
举个例子,我们在吃饭的时候,都需要使用筷子;那么,想方便的话,可以直接到超市买一次性的筷子,此时,我们就拥有了一双筷子,可以用来吃饭。可以看到,筷子就是一个工具,我们可以使用这个工具来完成吃饭。
但是,有一天,我们觉得超市的一次性筷子不卫生健康,那么,就到山上砍了竹子,自己做了一双纯天然的筷子。此时,我们就拥有了自己做的一双筷子,它也是一个工具,我们可以用它来完成吃饭。但是,这双筷子是我们自己做的筷子,而不是从超市买来的筷子。
那么,通过这个例子,我们可以归纳类比:
(1) 我们从超市买来的筷子,就如同库函数,不需要自己定义,可以直接拿来使用;
(2) 我们自己做的筷子,就如同用户自定义函数,是用户自己定义制作出来的函数;
(3) 无论是从超市买来的一次性筷子,还是我们制作的筷子,都是一个工具,都可以用来完成吃饭。所以,函数也就是一个工具,我们可以用它来完成某一项工作;
第2个回答  2020-07-05

#include <stdio.h>

#include <stdlib.h>


#define N 10


void fun(int (*arr)[N]) {

int sum = 0;

for (int i = 0; i != N; i++)

for (int j = 0; j != N; j++) {

if (i == 0 || i == N - 1 || j == 0 || j == N - 1)

sum += arr[i][j];

}

printf("%d\n", sum);

}


int main()

{

int arr[N][N];

for (int i = 0; i != N; i++) {

for (int j = 0; j != N; j++) {

arr[i][j] = rand() % 100;

printf("%4d", arr[i][j]);

}

printf("\n");

}

fun(arr);

return 0;

}

本回答被网友采纳
第3个回答  2020-07-05

代码文本:

本回答被提问者采纳
第4个回答  2022-06-20
入门到放弃?
“C/C++真的太难学了,我准备放弃了!”
很多初学者在学完C和C++的基本语法后,就停滞不前了,最终走向“从入门到放弃”。其实,我们初学者最需要的不是HelloWorld,也不是语法知识的堆砌,需要的只是实战项目的磨砺。
一个项目一座城
一个项目,一座城。写完一个项目,攻克一座城池。
以下十三个循序渐进的项目,让你从小白,快速晋升为大牛。
奇牛项目1《黑客攻击系统》-第一城
从完全零基础开始,手把手开发这款黑客攻击系统。
通过用户端的输入, 向服务器端木马发送攻击命令,实现多种方式的攻击效果。
通过这个项目,可以掌握C/C++基础(数据类型,变量的使用,各种运算,控制语句,命名空间,输入输出,函数调用,库文件的使用等),直接使用图形库来实现窗口用户界面,直接使用库文件来实现攻击效果。
奇牛项目2 《人工智能地形导航系统》-第二城‍‍
具备C/C++基础后,进一步学习二维数组、多维数组在工程项目中的应用。
根据地图的海拔数据,来识别地形上的各个峰点(最高点)和谷点(最低点),以确定地形中峰点的数目和位置,为探测器提供导航数据。
通过这个项目,可以深刻掌握二维数组、多维数组的本质,以及在工程项目中的应用方法。
奇牛项目3《人工智能双色球预测系统》-第三城‍
根据笔者Rock的闲暇之作改写,体会以小博大的乐趣。
通过自动分析博彩官网的海量数据,根据自定义的统计预测规则,来捕捉下期开奖的最大概率。
通过这个项目,掌握指针的使用,以及指针在工程项目中的应用。

奇牛项目4《地震监测系统》-第四城‍
地震检波器每隔固定的时间间隔,采样一次预测地震的能量数据,并保存到文件中。地震监测系统从这个文件中读取相应的能量数据,测试在给定的时间点上,一个短时间窗口内的取样值与一个长时间窗口内取样值的商,如果这个比例高于给定的阈值,那么在这个事件点上极有可能发生地震。
通过这个项目,掌握C/C++文件的读写、以及动态内存管理的使用,以及它们在工程项目中的应用。
奇牛项目5《智能婚恋交友系统》-第五城
程序员的相亲活动,低调且奢华。这个项目直接致敬某XX佳缘婚恋交友平台,毕竟Rock也曾经是该平台的注册会员,并在其中活跃良久。
这个项目实现了该平台的核心功能-高匹配度自动交友。
通过这个项目,掌握C++的面向对象思想、继承和派生、多态、友元、运算符重载等核心机制,以及它们在工程中的应用。
奇牛项目6《广州军区微波通信系统》-第六城
这个项目是根据笔者Rock负责研发的广州军区南海无线微波通信系统改写的, 已去除敏感数据。
这个项目是在菲律宾、越南肆意骚扰我国南海岛屿的背景下研发的。通过这个项目,掌握C++核心机制-多态的使用,以及在军事工程项目中的应用。
奇牛项目7《模板库高级编程-万能择优器》-第七城
在掌握了C、C++的核心特性之后,能否掌握C++标准模板库STL, 是区分一名合格C++程序员的重要标志。
这个项目通过构建一个通用的择优器,来掌握C++泛型编程的使用,以及在自定义模块开发中的应用。
奇牛项目8《游戏服务器端数据库》-第八城
在征服了C/C++语言的核心特性之后,很多人会感到新的迷茫:C/C++语言到底能做什么?海量用户数据怎么处理?
这个项目从零开始构建大型游戏数据库,以掌握数据库开发的方法,以及在产品级项目中的应用。
奇牛项目9 《企业QQ》-第九城
很多C/C++初学者,认为C和C++虽然很强大,但是对于用户界面开发,就不是很方便了。

其实对于用户界面的开发,C和C++,尤其是C++,是非常强悍的。各种绚丽的用户界面,C++都能游刃有余地呈现。
这个项目能够深度掌握基于C++的用户界面开发,以及网络编程,实现产品级的应用效果。
奇牛项目10 《跨平台Word》-第十城
IT外包开发时,用户的需求总是千变万化,界面和功能都需要做特殊的定制,这个项目让我们掌握开发特定UI和特定功能的应用软件,为以后独立承接IT外包打下足够的基础。
奇牛项目11《 游戏外*修改器》-第十一城
外*、逆向、破解无疑是每一位程序员为之向往的“禁地”,这个项目融合逆向、汇编、DLL注入、内存篡改等黑技术,开发客户端游戏的外挂,实现对游戏数据的截取、修改。
通过这个项目,可以深刻掌握指针、逆向、DLL注入等技术的使用,以及Windows客户端应用的开发。
奇牛项目12 《人工智能中国象棋人机对弈》-第十二城
完胜李世石和柯洁的阿尔法狗,其底层框架就是使用C++实现的。
除了围棋,C++更是在象棋领域完胜人类。这个项目,就是使用C++打造的人工智能象棋。
通过这个项目,可以轻松掌握各种复杂数据结构,把个人编程能力提升到极致。
奇牛项目13 《电信级大型互联网项目-共享顺风车系统》-第十三城
掌握C、C++客户端开发之后,高性能服务器开发,成为判别C++高级程序员的重要标志。这个项目将实现电信级的大型互联网服务器。
通过奇牛编程的项目实战,可以掌握百万级高并发服务器的核心技术(线程池、epool架构、协议开发等)
敲代码的夜,清脆的键击,孤独而坚定。
弹指间,攻城略地,早已硝烟弥漫。
十三座城池,待你来征服。
经过以上13个项目的修炼,你已经从小白蜕变为能够驾驭大型项目开发的大牛了。
相似回答