C语言2016-12-1作业

头像
蔡苏北
2016-12-01 22:21:43

锯齿数组,即数组的列数不相同的数组,如

{1,2,3,4,5,0}

{6,7,8,0}

{9,10,0}

第一个数组有6个元素,第二个数组有4个元素,第三个数组有3个元素(每组最后一个数据为0)。

请同学们在主函数中定义这样的数组,并传递到函数中打印出各数组元素值,并输出每组数据的累加和。 (提示:可使用指针数组和二级指针进行参数的传递)                                                                                 

全部回复
正序查看
头像

50635486725f9b85fb64c17f91cd6b56002.png

2016-12-02 22:43:00
...
头像
蔡苏北
写得挺好,虽然你这个不是锯齿数组,也赞一个。
2016-12-04 10:08:52
...
头像
无限高能At

/*锯齿数组,即数组的列数不相同的数组,如

{1,2,3,4,5,0}

{6,7,8,0}

{9,10,0}

第一个数组有6个元素,第二个数组有4个元素,第三个数组有3个元素(每组最后一个数据为0)。

请同学们在主函数中定义这样的数组,并传递到函数中打印出各数组元素值,并输出每组数据的累加和。

 (提示:可使用指针数组和二级指针进行参数的传递) 

*/

#include <stdio.h>

 void  print_pstr( int *p);

  int main()

  {

 int a1[6]={1,2,3,4,5,0};

 int a2[4]={6,7,8,0};

 int a3[3]={9,10,0};

 int *pstr[3]={a1,a2,a3};     //不采用整体传递,采用单个一维数组数组

 for(int  i=0;i<=2;i++)

  print_pstr(*(pstr+i));


  return 0;

 

 

  }



  void print_pstr( int *p)

  {

        int add=0;

   for(int i=0;*(p+i)!=0;i++)

{   add=add+*(p+i);

   printf("%d ",*(p+i));

}

printf("该行的和是:%d ",add);



  }

e43b59248724782f59601f6c931aa785002.png

2016-12-03 08:45:15
...
头像
蔡苏北
锯齿数组写出来了,但没有在函数中直接操作,继续努力。
2016-12-04 10:10:45
...
头像
无限高能At

#include <stdio.h>

 void  print_pstr( int **p);

  int main()

  {

 int a1[6]={1,2,3,4,5,0};

 int a2[4]={6,7,8,0};

 int a3[3]={9,10,0};

 int *pstr[3]={a1,a2,a3};     //采用整体传递

 print_pstr(pstr);

  return 0;

 

 

  }



  void print_pstr( int **p)

  {    

  for(int  i=0;i<=2;i++)

 

  {int  add=0;

  for(int j=0;*(*(p+i)+j)!=0;j++)

  {printf("%d  ",*(*(p+i)+j));

    add=add+p[i][j];

    

  }

   printf("该行的和是%d ",add);

  }

 }

32a920f8f4525e9429a37bbd3e1f7388002.png

2016-12-03 08:52:35
...
头像
蔡苏北
Very Good!
2016-12-04 10:12:01
...
头像
滴泪断剑

感觉很厉害的样子B_10.gifB_10.gifB_10.gifB_10.gifB_10.gif

2016-12-03 09:02:35
...
头像
[Union]达仔

bc35489f6544e4d908acda4dd6d38ff8002.png

2016-12-03 20:10:34
...
头像
蔡苏北
逻辑有些混乱,结果也不正确。
2016-12-04 10:22:42
...
头像
[Union]达仔

0e5a59d060f439e720a5d6673e1fd2c0002.png

68c18de98b065c2c9c3e40a34bfcbea3002.png

58e477a868d379ee3da896317cc78568002.png

修改版 嘻嘻嘻

2016-12-03 20:19:14
...
头像
蔡苏北
Very Good!给个赞
2016-12-04 10:23:37
...
头像
华安丶

f2254bc979055214b603b71b4dc15125002.png数组的最后一个元素0,想不出什么方法打印出来,我试过用sizeof,但是只能打印每个一维数组的首个元素,好气

2016-12-04 13:26:28
...
头像
蔡苏北
已经达到了题目的要求,想要输出0的话,再printf里的sum = %d前加上一个0不就OK了
2016-12-04 20:16:17
...
头像
[[[[[低调的無上VIP学神]]]]] 掐掐掐

2016-12-04 17:01:42
...
头像
蔡苏北
这个是使用的二维 数组,而非锯齿数组哦
2016-12-04 20:16:53
...
头像
班主任—陈锦生

2016-12-04 19:12:01
...
头像
蔡苏北
非常棒,在打印函数中使用了两种方式来获取元素值。
2016-12-04 20:18:13
...
没有更多了