重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元瀍河做网站,已为上家服务,为瀍河各地企业和个人服务,联系电话:028-86922220
#define M 3
#define N 4
int matrixsum(int d[M][N])
{
int i,j,sum=0;
for(j=0;jN;j++)
sum+=d[0][j];
for(i=1;iM;i++)
sum+=d[i][N-1];
for(j=N-2;j=0;j--)
{
if(M1)
sum+=d[M-1][j];
}
for(i=M-2;i0;i--)
{
if(N1)
sum+=d[i][0];
}
return sum;
}
int main()
{
int i,j,sum;
int data[M][N];
for(i=0;iM;i++)
{
for(j=0;jN;j++)
{
scanf("%d",data[i][j]);
}
}
sum=matrixsum(data);
printf("%d\n",sum);
return 0;
}
不管几维矩阵都满足条件
取出9点存于a[3][3],格点NY行,NX列。出界处数据给0。函数如下。
#define NX 100
#define NY 100
int a[3][3];
int map[NY][NX];
void get9(int ix, int iy)
{
int i,j;
for (j=0;j3;j++){
for (i=0;i3;i++){
if ( (iy+j-1= 0) (ix+i-1= 0) (iy+j-1 NY) (ix+1-1 NX))
a[j][i]=map[iy+j-1][ix+i-1];
else a[j][i]=0;
}
}
}
=====
调用:get9(5,5) 得格点 ix=5,iy=5 处的9个数,存于全局量 a[][]中。
求一个二维数组元素的周边之和:源程序如下:
#define N 3//宏定义N=3
#include stdio.h
void main()
{
int number[N][N] = { {1,2,3},{4,5,6},{7,8,9} };//定义二维数组并赋初值
int i, j;//定义循环变量
int sum = 0;//定义加和变量,并初始化赋值为0
for (i = 0; i N; i++)//控制行变量遍历
for (j = 0; j N; j++)//控制列变量遍历
if (i == 0 || i == (N-1) || j == 0 || j == (N-1))//判断是否为周边元素
sum += number[i][j];//进行求和运算
printf("%d", sum);//输出和
}
其中,上述程序中变量N,为数组的行列维数,可灵活进行修改。
程序运行结果如下:
扩展资料:
用行指针实现求一个二维数组四周元素的平均值。
#include stdio.h
#include stdlib.h
#define M 4
#define N 5
float fun(int(*p)[N], int m)
{
int i, j, k = 0;//定义循环变量
float sum, ave;//定义和变量、平均数变量
sum = 0;//初始化和变量为0
for (i = 0; i m; i++)//控制行变量遍历
for (j = 0; j N; j++)//控制列变量遍历
if(i == 0 || i == (m-1) || j == 0 || j == (N-1))//判断是否为周边元素
{
sum += p[i][j]; //进行求和运算
k++;
}
ave = sum / k;//求平均
return ave;//返回平均数
}
int main()
{
int a[M][N] = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20} };
int i, j;
float ave;
for (i = 0; i M; i++)//遍历打印出数组全部元素
{
for (j = 0; j N; j++)
printf("%4d", a[i][j]);
printf("\n");
}
ave = fun(a,M);//函数计算并返回平均值
printf("average=%.2f\n", ave);//输出平均值
system("pause");//任意键继续
return 0;
}
扩展资料程序运行结果:
int sum(int a[6][7])
{
int i,j,s=0;
for(i=0;i6;i++)
for(j=0;j7;j++)
{
if(i==0||i==5)
s+=a[i][j];
else if(j==0||j==6)
s+=a[i][j];
//return s; ///这个放到外面去 。。
}
return s; ///这里
}
main()
{
int a[6][7]={{1},{1},{1}};
printf("%d\n",sum(a));
}
#includestdio.h
#includeconio.h
#includestdlib.h
#define N 5
double fun (int w[][N])
{
int i,j,s=0;
for(i=0;iN;i++)
for(j=0;jN;j++)
if(i==0||j==0||j==N-1||i==N-1)//周边元素的特征
s+=w[i][j]*w[i][j];//平方
return s;//和
}
void main()
{
FILE *wf;
int a[N][N]={0,1,2,7,9,1,11,21,5,5,2,21,6,11,1,9,7,9,10,2,5,4,1,4,1};
int i, j;
double s;
system("CLS");
printf("*****数 组 *****\n ");
for (i=0; iN; i++)
{ for (j=0;jN;j++)
{printf("%4d ",a[i][j]);}
printf("\n ");
}
s=fun(a);
printf("*****结 果*****\n ");
printf("The sum is : %lf\n ",s);
}
计算机c二级上面的题 ,我看过类似的,周边元素用if 找准下标i 和j的特征值就好了,纯手打,希望对你有所帮助。
入门到放弃?
“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个项目的修炼,你已经从小白蜕变为能够驾驭大型项目开发的大牛了。