C语言2016-12-1作业

发布于:2016-12-01 22:21

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

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

{6,7,8,0}

{9,10,0}

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

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

共有9条评论
正序查看
倒序查看
2016-12-02 22:43
回复

50635486725f9b85fb64c17f91cd6b56002.png

蔡苏北 回复 2016-12-04 10:08
回复
写得挺好,虽然你这个不是锯齿数组,也赞一个。
无限高能At 2016-12-03 08:45
回复

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

{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

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

#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

蔡苏北 回复 无限高能At 2016-12-04 10:12
回复
Very Good!
滴泪断剑 2016-12-03 09:02
回复

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

[Union]达仔 2016-12-03 20:10
回复

bc35489f6544e4d908acda4dd6d38ff8002.png

蔡苏北 回复 [Union]达仔 2016-12-04 10:22
回复
逻辑有些混乱,结果也不正确。
[Union]达仔 2016-12-03 20:19
回复

0e5a59d060f439e720a5d6673e1fd2c0002.png

68c18de98b065c2c9c3e40a34bfcbea3002.png

58e477a868d379ee3da896317cc78568002.png

修改版 嘻嘻嘻

蔡苏北 回复 [Union]达仔 2016-12-04 10:23
回复
Very Good!给个赞
华安丶 2016-12-04 13:26
回复

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

蔡苏北 回复 华安丶 2016-12-04 20:16
回复
已经达到了题目的要求,想要输出0的话,再printf里的sum = %d前加上一个0不就OK了

这个是使用的二维 数组,而非锯齿数组哦
班主任—陈锦生 2016-12-04 19:12
回复

蔡苏北 回复 班主任—陈锦生 2016-12-04 20:18
回复
非常棒,在打印函数中使用了两种方式来获取元素值。

回复:C语言2016-12-1作业

图片
视频

0

今日新帖

0

昨日新帖

29

帖子总数

推荐
换一组
暂无数据