# c语言求二维数组最小值,C语言 基础60题(2)——二维数组操作

double  sum_2diagonal(double* array_2d,  unsigned int m, unsigned int n);

double sum_2diagonal(double *array_2d,unsigned int m,unsigned int n){

double sum=0;

for(unsigned int i=0;i

for(unsigned int j=0;j

if(i==j)

sum=sum+*(array_2d+i*n+j);

if((n-1-i)==j)

sum=sum+*(array_2d+i*n+j);

}

}

return sum;

}

double  sum_diagonal(double* array_2d,  unsigned int m, unsigned int n);

double sum=0;

for(unsigned int i=0;i

for(unsigned int j=0;j

if(i==j)

sum=sum+*(array_2d+i*n+j);

}

}

return sum;

}

double  sum_circum(double* array_2d,  unsigned int m, unsigned int n);

double sum=0;

for(unsigned int i=0;i

sum=sum+*(array_2d+i*n+0);

sum=sum+*(array_2d+i*n+(n-1));

}

for(unsigned int j=1;j

sum=sum+*(array_2d+j);

sum=sum+*(array_2d+(m-1)*n+j);

}

return sum;

}

double  sum_max(double* array_2d,  unsigned int m, unsigned int n);

double largest=*array_2d;

for(unsigned int i=0;i

for(unsigned int j=0;j

if(largest

largest=*(array_2d+i*n+j);

}

}

return largest;

}

double  sum_min(double* array_2d,  unsigned int m, unsigned int n);

double min=*array_2d;

for(unsigned int i=0;i

for(unsigned int j=0;j

if(min>*(array_2d+i*n+j))

min=*(array_2d+i*n+j);

}

}

return min;

}

//测试程序

#include

//将sum_2diagonal()、sum_diagonal()、sum_circum()、sum_max()、sum_min()代码考到此处

void main()

{

//调用sum_2diagonal()、sum_diagonal()、sum_circum()、sum_max()、sum_min()函数

double arr_2d[4][4]={

{1,2,3,4},

{5,6,7,8},

{9,10,11,12},

{13,14,15,16}};

double sum_2d = sum_2diagonal((double *)arr_2d,4,4);

double sum_d = sum_diagonal((double *)arr_2d,4,4);

double sum_cir = sum_circum((double *)arr_2d,4,4);

double max=sum_max((double *)arr_2d,4,4);

double min=sum_min((double *)arr_2d,4,4);

printf("the sum_2diagonal  is %.2f\n",sum_2d);

printf("the sum_diagonal  is %.2f\n",sum_d);

printf("the sum_circum  is %.2f\n",sum_cir);

printf("the largest number is %.2f\n",max);

printf("the least number is %.2f\n",min);

double arr_2dd[3][4]={

{1,2,3,4},

{5,6,7,8},

{9,10,11,12}};

sum_2d = sum_2diagonal((double *)arr_2dd,3,4);

sum_d = sum_diagonal((double *)arr_2dd,3,4);

sum_cir = sum_circum((double *)arr_2dd,3,4);

max=sum_max((double *)arr_2dd,3,4);

min=sum_min((double *)arr_2dd,3,4);

printf("the sum_2diagonal  is %.2f\n",sum_2d);

printf("the sum_diagonal  is %.2f\n",sum_d);

printf("the sum_circum  is %.2f\n",sum_cir);

printf("the largest number is %.2f\n",max);

printf("the least number is %.2f\n",min);

}

int sum_odd(unsigned int n);

if(n<0)

return -1;

int sum=0;

unsigned int i;

for( i=1;i<=n;i+=2){

sum=sum+i;

}

return sum;

}

int sum_even(unsigned int n);

if(n<0)

return -1;

int sum=0;

unsigned int i;

for( i=0;i<=n;i+=2){

sum=sum+i;

}

return sum;

}

//测试程序

#include

//将sum_odd()、sum_even()代码考到此处

void main()

{

//调用sum_odd()、sum_even()函数

int a=sum_odd(1);

int b=sum_odd(10);

printf("the sum_odd is %d\n",a);

printf("the sum_odd is %d\n",b);

a=sum_even(1);

b=sum_even(10);

printf("the sum_odd is %d\n",a);

printf("the sum_odd is %d\n",b);

}

• 0
点赞
• 3
收藏
觉得还不错? 一键收藏
• 0
评论
03-07 3688
07-21 9893
03-31 347
02-20
04-07 7084
05-09 1万+
11-23 7805
09-05 2186

### “相关推荐”对你有帮助么？

• 非常没帮助
• 没帮助
• 一般
• 有帮助
• 非常有帮助

1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载，可以购买VIP、付费专栏及课程。