首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在C中打印修改后的数组

无法在C中打印修改后的数组
EN

Stack Overflow用户
提问于 2018-11-19 18:56:12
回答 1查看 81关注 0票数 1

用户被要求提供一些行和列来填充10x10数组中的随机数。(表的一部分将被填充,例如,2x2)。然后,一个名为printArray的函数将打印其values.Then,函数change_array将在每一行中找到最大的值,并用该值替换其剩馀的元素。

例如:

初始阵列

代码语言:javascript
复制
<p>41 67 34  0 </p>
<p>69 24 78 58</p> 
<p>62 64  5 45</p> 

变阵

代码语言:javascript
复制
<p>67 67 34  0 </p>
<p>78 78 78 58 </p>
<p>64 64  5 45 </p>

然而,该方案规定如下:

初始阵列

代码语言:javascript
复制
<p>41  67</p> <p>34  0</p>

变阵

代码语言:javascript
复制
<p>67 67</p>
<p>24576000 508</p>

为什么会发生这种情况?

  1. H得到整数值的输入
  2. 这不能用指针来完成(我们还没有在课堂上)
  3. 修改后的数组必须在main()中打印 # #包括 #包括"simpio.h“void populate_data(int R,int C,int AR);void printArray(int R,int C,int AR);void change_array(int R,int C,int AR);int main(void) { int A10,R,C,i,j;而(TRUE) {printf(”给出行数:");R= GetInteger();如果(R>=0 & R<=10)中断;否则{printf(“错误答案\n ");} while (TRUE) {printf(”输入列数:“);C= GetInteger();if (C>=0 & C<=10)中断;{printf(“错误答案\n”);} populate_data(R,C,A);printf(“初始数组\n”);printArray(R,C,A);change_array(R,C,A);printf(“更改数组\n”);for (i=0;i
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-19 19:23:25

如果一行中的最大值位于第一个位置,则会发生这种情况,因此永远不会输入此块。

代码语言:javascript
复制
if (max[i]< A[i] [j])
        {
            max[i] =A[i] [j];
            m[i] = j;
        }

m[i]将保持未初始化状态。只需添加一个

代码语言:javascript
复制
m[i] = 0;

在那个循环之前。

编辑:您必须将函数定义从A[R][C]更改为A[10][10],因为在这一点上,函数不知道R和C。

此外,没有理由声明大小为10x10的数组。在从输入中获得具有正确行数和列数的维度之后,您可以这样做。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53380980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档