C题目分析:PTA二维数组中每行最大值和每行和
  W1JyhNBcVoTG 2023年12月22日 38 0

C题目分析:PTA二维数组中每行最大值和每行和_i++

*首先记住以下:

算法框架从内到外。

明确改变的条件。明确如何改变。明确导向结果。

一。分析流程:

输入——组成数组——输出数组和最大值

二。细化:

S1输入的格式:一行输入,中间空格,最后一格无空格。

S2组成数组:运用二维数组,其中前四个数中间有三个空格,且第一个数前有三个空格,第四和五个数中间只有两个空格。第四个数负责记下每行的最大值,第五个数负责记下每行的和,最后没有空格。

S3输出数组:详见输出样例输出(与S2合成一步)。

三。运用知识:

输入输出函数,循环语句,二维数组的建立&录入数据&按要求输出,条件语句,排序算法

自己写的:

#include<stdio.h>

int main()

{

int i, j, m1, m2 , m3, s1, s2, s3;

int a[3][3] = { 0 };

int b[3][2] = { 0 };

for (i = 0; i < 3; i++) {

 for (j = 0; j < 3; j++) {

  scanf("%d", &a[i][j]);

 }

}

m1= a[0][0];

if (a[0][0] < a[0][1] && a[0][1] > a[0][2])m1 = a[0][1];

if (a[0][1] < a[0][2] && a[0][0] < a[0][2])m1 = a[0][2];

m2 = a[1][0];

if (a[1][0] < a[1][1] && a[1][1] > a[1][2])m2 = a[1][1];

if (a[1][1] < a[1][2] && a[1][0] < a[1][2])m2 = a[1][2];

m3 = a[2][0];

if (a[2][0] < a[2][1] && a[2][1] > a[2][2])m3 = a[2][1];

if (a[2][1] < a[2][2] && a[2][0] < a[2][2])m3= a[2][2];

s1 = a[0][0] + a[0][1] + a[0][2];

s2 = a[1][0] + a[1][1] + a[1][2];

s3 = a[2][0] + a[2][1] + a[2][2];

b[0][0] = m1;

b[0][1] = s1;

b[1][0] = m2;

b[1][1] = s2;

b[2][0] = m3;

b[2][1] = s3;

for (i = 0; i < 3; i++) {

 for (j = 0; j < 3; j++) {

  printf("   %d", a[i][j]);

 }

 printf("   %d", b[0][0]);

 printf("  %d",b[])

}

return 0;

}

需要一个一个敲,没效率。

看看别人的:

C题目分析:PTA二维数组中每行最大值和每行和_数组_02

主要错在了:比大小的数组形式 及 最后输出 环节。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月22日 0

暂无评论

推荐阅读
  anLrwkgbyYZS   2023年12月30日   28   0   0 i++iosi++ioscici
W1JyhNBcVoTG