编写程序输入20个整数保存在二维数组 a[41[5]中,然后选出各行最大的元素组成一个一维数组b[4]并显示(语言-c++)

编写程序输入20个整数保存在二维数组 a[41[5]中,然后选出各行最大的元素组成一个一维数组b[4]并显示

  • ```
#include "stdlib.h"
#include "stdio.h"
void row_sum(int a[5][4],int b[5])
{
  /**********Begin**********/
    int i,j;
    for(i=0;i<5;i++)
    { b[i]=0;
      for(j=0;j<4;j++)
      b[i]=b[i]+a[i][j];
      /**********  End  **********/
}
void main()
{
  void TestFunc();
  int a[5][4],b[5],i,j;
  for(i=0;i<5;i++)
    for(j=0;j<4;j++)
      a[i][j]=rand()%10;
    for(i=0;i<5;i++)
    {
      for(j=0;j<4;j++)
        printf("%5d",a[i][j]);
      printf("\n");
    }
    row_sum(a,b);
    for(i=0;i<5;i++)
      printf("%6d",b[i]);
    printf("\n");
    TestFunc();
}



```

#include <iostream>

using namespace std;

int main()
{
    int a[4][5], b[4];
    for (int i = 0; i < 4; i++)
    {
        int max = -1;
        for (int j = 0; j < 5; j++)
        {
            cin >> a[i][j];
            if (a[i][j] > max)
            {
                max = a[i][j];
            }
        }
        b[i] = max;
    }
    for (int i = 0; i < 4; i++)
    {
        cout << b[i] << " ";
    }
    return 0;
}
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7552444
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:运用二维数组生成扫雷游戏地图 要求:a,定义10*10的数组,把所有元素初始化为0 b,随机生成10个雷,不能重复(一定要有10个) -1表示雷 c,把以
  • 除此之外, 这篇博客: C语言简单算法之计算分段函数,A除以B,阶梯电价,出租车计价中的 4.题目七出租车计价 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.实验代码

    #include <stdio.h>
    int main()
    {
      int a;
      float b,c;
      scanf("%f %d",&b,&a);
      if(b<=3&&a<5)
      c=10;
      else if(b<=3&&a>=5)
      c=10+a/5*2;
      else if(b>3&&b<=10&&a<5)
      c=(b-3)*2+10;
      else if(b>3&&b<=10&&a>=5)
      c=(b-3)*2+10+a/5*2;
      else if(b>10&&a<5)
      c=24+(b-10)*3;
      else if(b>10&&a>=5)
      c=24+(b-10)*3+a/5*2;
      printf("%.0f",c);
      return 0;
    }
    

    2.设计思路
    (1)第一步 阅读题目了解到计程车计费在没有停车或停车时间不超过五分钟有三种情况,加之路上有停车共有六种情况
    第二步 需要定义三种变量,所行路程,停车时间,应费用定义整数a,浮点数b,c
    第三步定义整数a行驶路程,浮点数b停车时间,c应付费用
    第四步 运用if,else if定义出不同范围下所花的车费,给出计算车费的公式
    第五步 整体输出c值
    (2)流程图

    3.遇到的困难及解决方法
    遇到的困难:编译细节上出了点问题,对于数值的定义有些模糊,本来应该定义成浮点数,却定义成整数了,对题意的理解不透,在b c同时有条件限制时中间用了“,”,应该用“&”,我开始打的是依次输出,不如整体输出方便,也容易犯错,输出的浮点也写错。
    解决的方法:自己在检查出一些错误后,让同学帮助检查,将所有的错误改正

    4.运行结果


    【2】pta提交列表



    【3】git地址及截图
    https://git.coding.net/sunna1/text.git

    【4】总结、互评和学习进度
    1.总结
    (1)学习内容:本周主要学了算数运算顺序,%取余,float,double浮点数的运用,最主要学习了if-else的运用,在课上进行了大量的练习,本周的pta作业也以if-else为主
    (2)遇到的困难:If-else的练习也不少了,大部分都大同小异,但在遇到新颖一点的题型时有的还是有些转不过来,在细节上的处理也不好,在编译时总会出现大大小小的错误,不够严谨。
    (3)解决方案:天道酬勤吧,自己还是要勤加练习,要用心细心。最重要的是将每个步骤的意思弄懂,不会多查查,多看看。
    2.点评作业
    马雨欣:http://www.cnblogs.com/mayuxin/p/7735130.html
    孙美玲:http://www.cnblogs.com/sunmeiling/p/7745182.html
    何宗彦:http://www.cnblogs.com/hezongyan/p/7726382.html
    3.表格及折线图


    ps:评论的同学多数都提到了解决的方法写的不详细,但我并未进行整改。是因为对有些概念性的东西不太能叫得准,理解的不够透彻,导致有些错误不知所因。每次打完代码只知道错了就该过来,并没有究其根本,这是非常不对的。在接下来的学习中我会避免此类事情,追根溯源,将知识掌握扎实。本周的作业想整改,可能还需要点时间。

  • 您还可以看一下 朱有鹏老师的数字芯片验证第4部分(扩展补充B)-C++和面向对象课程中的 B1.2.为什么有了C还需要C++小节, 巩固相关知识点