设二维整型数组a[4][3],使用数组指针的方法,求每行元素的和。

如题所述

#include<stdio.h>
void main(){
int a[3][4],max,maxi=0,maxj=0,i,j;
printf("请输入:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max = a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(max<a[i][j]){
max=a[i][j];
maxi=i;maxj=j;
}
printf("该二维数组中的最大元素的值为 %d ,其在第 %d 行 第 %d 列\n",max,maxi+1,maxj+1);

只是把楼上的修改了一下,之前的代码是有缺陷的,如果输入的都是负数呢,那你输出的结果就不对了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-29
# include<stdio.h>
void main()
{
int a[4][3]={1,2,4,5,8,9,7,8,9,5,3,7};
int i,j;
int (*p)[3];
int sum=0;
p=a;
for(i=0;i<4;i++){
for(j=0;j<3;j++){
sum +=p[i][j];//或者sum +=*(*(p+i)+j)
}
printf(本回答被网友采纳
相似回答