C语言通过函数调用求n*n阶矩阵周边元素绝对值之和

如题所述

用c语言的话可用求和函数,具体函数如下:

#include "stdio.h"

#include "math.h"

#define N 5

int sum(int a[N][N])

{

int i,j;

int sum=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+=abs(a[i][j]);

return sum;

int main()

{

int i,j;

int c_sum;

int a[N][N]={1,-1,2,-2,3,-3,4,5,6,7,8,9,10,11,-11,-15,13,17,23,35,-23,45,12,-1,-15};

for(i=0;i<N;i++)

for(j=0;j<N;j++)

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

printf("\n");

}

c_sum=sum(a);

printf("the sumation is%d",c_sum);

printf("\n");

return 0;

}

扩展资料:

1、数学函数

double frexp(double value,int *eptr) 返回value=x*2n中x的值,n存贮在eptr中

double ldexp(double value,int exp); 返回value*2exp的值

double log(double x) 返回logex的值

double log10(double x) 返回log10x的值

2、目录函数

所在函数库为dir.h、dos.h [3] 

int chdir(char *path) 使指定的目录path(如:"C:\\WPS")变成当前的工作目录,成功返回0

int findfirst(char *pathname,struct ffblk *ffblk,int attrib)查找指定的文件,成功返回0

pathname为指定的目录名和文件名,如"C:\\WPS\\TXT"

参考资料来源:百度百科-C语言函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-15
for(i=0;i<n;i++)/*求上下两行的绝对值和*/
{
if(a[0][i]<0)
sum=sum-a[0][i];
else
sum=sum_a[0][i];
if(a[n-1][i]<0)
sum=sum-a[n-1][i];
else
sum=sum_a[n-1][i];
}
for(i=1;i<n-1;i++)/*求左右两列的绝对值和*/
{
if(a[i][0]<0)
sum=sum-a[i][0];
else
sum=sum_a[i][0];
if(a[i][n-1]<0)
sum=sum-a[i][n-1];
else
sum=sum_a[i][n-1];
}本回答被提问者采纳
第2个回答  2017-10-15
#include "stdio.h"
#include "math.h"
#define N 5
int sum(int a[N][N])
{
   int i,j;
   int sum=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+=abs(a[i][j]);
         return sum;


int main()
{
  int i,j;
  int c_sum;
  int a[N][N]={1,-1,2,-2,3,-3,4,5,6,7,8,9,10,11,-11,-15,13,17,23,35,-23,45,12,-1,-15};
     for(i=0;i<N;i++)
          { 
                    for(j=0;j<N;j++)
                             printf("%4d",a[i][j]);
        printf("\n");
          }
  c_sum=sum(a);
  printf("the sumation is%d",c_sum);
  printf("\n");
return 0;
}

相似回答