经典c程序(0021)---求二维数组各元素上下左右绝对值和的和

来源:互联网 发布:孙骁骁小葡萄关系 知乎 编辑:程序博客网 时间:2024/05/22 01:45
/*************************************************************************************** Function     : test* Create Date  : 2014/04/17* Author       : NTSK13* Email        : beijiwei@qq.com* Copyright    : 欢迎大家和我一起交流学习,转载请保持源文件的完整性。                                              任何单位和个人不经本人允许不得用于商业用途* Version      : V0.1***************************************************************************************  经典c程序(0021)题目:求二维数组1 7 54 6 28 9 3的每一数字的  于周围相邻数字的绝对值的和的和(边缘数字相邻为2数字或3 数字, 6 周围有4数字)**************************************************************************************/#include<stdio.h>#define MY_FUNC  1#if MY_FUNC#define M 3int data[M][M]={0};int get_abs_sub(int x,int y);int get_one_sum(int i,int j);int main(){    int i=0,j=0,tmp=0,count=0,flag=0;    int sum=0;    freopen("input.txt","r",stdin);//printf("The total number is: %d \n");//fflush(stdout);//修复Eclipse printf()不能显示的小bugfor(i=0;i<M;i++)for(j=0;j<M;j++)scanf("%d",&data[i][j]);for(i=0;i<M;i++)for(j=0;j<M;j++)sum+=get_one_sum(i,j);printf("The sum number is: %d \n",sum);fflush(stdout);//修复Eclipse printf()不能显示的小bugreturn 0;}int get_abs_sub(int x,int y){if(x>y)return x-y;elsereturn y-x;}int get_one_sum(int i,int j){int ret =0;if(i>0)//get upret+=get_abs_sub(data[i][j],data[i-1][j]);if(i<M-1)//get downret+=get_abs_sub(data[i][j],data[i+1][j]);if(j>0)//get leftret+=get_abs_sub(data[i][j],data[i][j-1]);if(j<M-1)//get rightret+=get_abs_sub(data[i][j],data[i][j+1]);return ret;}#elseint main(){int i=0,j=0,k=0;printf("\n");return 0;}#endif


0 0
原创粉丝点击