求二维数组中,下标为奇数的所有行的元素的和。 (要求使用数组和指针)

#include 
int oddarray_sum(int *a,int m,int n)
{
	int i,j,sum=0;
	for(i=0;i<m;i++)
	{
		if(i%2!=0)//这个是求下标为奇数
		{
			for(j=0;j<n;j++)
			{
				sum=sum+a[i*n+j];
				//这里i不变,就是行元素之和 
			}
		}
	}
	return sum;
}
int main()
{
      int a[3][3];
      int i,j;
      int sum;
      for(i=0;i<3;i++)
      {
           for(j=0;j<3;j++)
           {
                 scanf("%d",&a[i][j]);
           }
      }
      sum=oddarray_sum(&a[0][0],3,3);
      printf("%d",sum);
      return 0;
}
int oddarray_sum(int *a,int m,int n)
{
	int i,j,sum=0;
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			if(i%2!=0)
			sum+=*a;//利用指针不过要注意a++
			a++; 
		 } 
	}
	return sum;
}

你可能感兴趣的:(指针)