浙大PTA 第4章-27 二维数组中每行最大值和每行和 (10 分)

本文提供了一个关于如何求解3*3二维数组中每行的最大值及每行元素之和的Python程序示例。通过输入一行包含9个整数的字符串,程序能够正确地输出所需的二维数组及其最大值和每行的总和。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全题解析链接

浙大Python题目集 PTA95题全部解析


求一个3*3二维数组中每行的最大值和每行的和。

输入格式:

在一行中输入9个小于100的整数,其间各以一个空格间隔

输出格式:

输出3行3列的二维数组,并在每行后面分别输出每行最大值和每行元素的和,每个数据输出占4列。

输入样例:

3 6 5 9 8 2 1 4 5

输出样例:

   3   6   5   6  14
   9   8   2   9  19
   1   4   5   5  10

题解:

li = list(map(int,input().split()))
matrix = [[0 for i in range(3)] for j in range(3)]
for i in range(3):
    for j in range(3):
        matrix[i][j]=li[3*i+j]
        print(f'{matrix[i][j]:>4d}',end='')
    print(f'{max(matrix[i]):>4d}',end='')
    print(f'{sum(matrix[i]):>4d}')

### 关于 PTA 平台 C 语言指针实现最大值最小值的练习题 #### 找出两个整数的最大值浙大版《C语言程序设计实验与习题指导(第4版)》中存在一道题目,其目标是通过指针来找出给定两个整数值中的较大者。此功能由 `findmax` 函数完成,该函数接收三个指向整型数据的指针作为参数,并将找到的最大值存储到第三个指针对应的位置[^1]。 ```c void findmax(int *px, int *py, int *pmax) { if (*px >= *py) *pmax = *px; else *pmax = *py; } ``` 这段代码展示了如何利用条件语句比较两个变量并通过指针传递结果。当第一个地址所存值大于等于第二个时,则把前者赋给最大值;反之则取后者。 #### 使用数组循环寻找多个元素间的极值 除了上述简单的二元比较外,在更复杂的场景下可能需要处理一系列的数据项并从中筛选最值。此时可以借助一维或多维数组以及迭代结构来进行操作: ```c #include <stdio.h> // 定义一个辅助函数用于交换两数位置 void swap(int *a, int *b){ int temp=*a;*a=*b;*b=temp; } int main(){ const size_t SIZE=5;// 数组大小设定为常量方便修改 int numbers[SIZE]={7,-9,0,32,-6}; // 初始化min/max别为首尾两端以防越界访问 int minIndex=0,maxIndex=SIZE-1; for (size_t i = 1 ;i<SIZE;i++){ if(numbers[i]<numbers[minIndex]) minIndex=i; if(numbers[i]>numbers[maxIndex]) maxIndex=i; } printf("Min value is %d at index %zu\n",numbers[minIndex],minIndex); printf("Max value is %d at index %zu\n",numbers[maxIndex],maxIndex); return 0; } ``` 在这个例子中,遍历整个列表一次即可同时定位到最小值及其索引、最大值及其索引。这里还引入了一个额外的小技巧——`swap()` 函数用来展示如果想要改变原始序列顺序的话应该如何做[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值