弱小无助求助 数组!!!!!!!
先求出每行的和,放在最后一列上1 3 59
7 9 6 22
2 4 8 14
输出最后一行是乱码,不知道是哪里出错
#include <stdio.h>
int main()
{
int a={{1,3,5},{7,9,6},{2,4,8}};
int b;
int sum;
for (int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
if(j<3)
{
b=a;
sum+=a;
}
else
b=sum;
}
}
for (i=0;i<3;i++)
{
for(int j=0;j<4;j++)
printf("%4d ",b);
printf ("\n");
}
return 0;
}
本帖最后由 jackz007 于 2019-11-3 17:24 编辑
楼主你的代码丢东西了,看看你贴出来的文本,是不是部分变斜体了,那就是你代码中的一些内容被作为网页页面格式控制内容进行处理了,相应的文本内容自然就被过滤掉了,所以,你应该编辑一下帖子,把代码贴进代码窗口。 本帖最后由 jackz007 于 2019-11-3 18:10 编辑
内层循环 for(int j = 0 . . . . . .) 开始的时候,应该初始化 sum 的值为 0,试试我修改的代码:
#include <stdio.h>
int main()
{
int a = {{1 , 3 , 5} , {7 , 9 , 6} , {2 , 4 , 8}} , i , j , sum ;
for (i = 0 ; i < 3 ; i ++) {
for(j = 0 , sum = 0 ; j < 3 ; j ++) sum += a ;
a = sum ;
}
for (i = 0 ; i < 3 ; i ++) {
for(int j = 0 ; j < 4 ; j ++) printf("%4d " , a) ;
printf ("\n") ;
}
}
下面是编译、运行实况:
C:\Bin>g++ -o x x.c
C:\Bin>x
1 3 5 9
7 9 6 22
2 4 8 14
C:\Bin> #include <stdio.h>
int main()
{
int a = {{1, 3, 5}, {7, 9, 6}, {2, 4, 8}};
for (size_t i = 0; i < 3; i++)
{
int tmp = 0;
for (size_t j = 0; j < 3; j++)
{
tmp += a;
}
a = tmp;
}
for (size_t i = 0; i < 3; i++)
{
for (size_t j = 0; j < 4; j++)
{
printf("%3d", a);
}
printf("\n");
}
return 0;
}
-----------------------------------------------------------------------------
Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。
尝试新的跨平台 PowerShell https://aka.ms/pscore6
PS E:\Users\admin\Documents\VScode> & 'c:\Users\admin\.vscode\extensions\ms-vscode.cpptools-0.26.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-oo5ml4mf.ulb' '--stdout=Microsoft-MIEngine-Out-nzi3ecee.ks2' '--stderr=Microsoft-MIEngine-Error-ql4lva2e.orv' '--pid=Microsoft-MIEngine-Pid-4e2gmefo.c2h' '--dbgExe=D:\MinGW\bin\gdb.exe' '--interpreter=mi'
1 3 5 9
7 9 6 22
2 4 8 14
PS E:\Users\admin\Documents\VScode> jackz007 发表于 2019-11-3 17:35
内层循环 for(int j = 0 . . . . . .) 开始的时候,应该初始化 sum 的值为 0,试试我修改的代码:
...
如果把列改成行把计算的结果算到最为的一行是不是只需要把式子改了? 当然了,那首先得修改数组 a,把所有的空缺集中留到最后一行。
页:
[1]