鱼C论坛

 找回密码
 立即注册
查看: 1238|回复: 5

[已解决]弱小无助求助 数组!!!!!!!

[复制链接]
发表于 2019-11-3 17:10:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

先求出每行的和,放在最后一列上1 3 5  9
7 9 6 22
2 4 8 14
输出最后一行是乱码,不知道是哪里出错





#include <stdio.h>
int main()
{
        int a[3][4]={{1,3,5},{7,9,6},{2,4,8}};
        int b[3][4];
        int sum;
        for (int i=0;i<3;i++)
        {
                for(int j=0;j<4;j++)
                {
                        if(j<3)
                        {
                                b[i][j]=a[i][j];
                                sum+=a[i][j];
                        }
                        else
                                b[i][j]=sum;
                }
        }
        for (i=0;i<3;i++)
        {
                for(int j=0;j<4;j++)
                        printf("%4d ",b[j]);
                printf ("\n");
        }
return 0;
   }
[/i][/i][/i][/i]
最佳答案
2019-11-3 17:35:10
本帖最后由 jackz007 于 2019-11-3 18:10 编辑

     内层循环 for(int j = 0 . . . . . .) 开始的时候,应该初始化 sum 的值为 0,试试我修改的代码:
#include <stdio.h> 
int main()
{
        int a[3][4] = {{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[i][j]            ;
                a[i][j] = sum                                                 ;
        }
        for (i = 0 ; i < 3 ; i ++) {
                for(int j = 0 ; j < 4 ; j ++) printf("%4d " , a[i][j])        ;
                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>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-3 17:22:48 | 显示全部楼层
本帖最后由 jackz007 于 2019-11-3 17:24 编辑

      楼主你的代码丢东西了,看看你贴出来的文本,是不是部分变斜体了,那就是你代码中的一些内容被作为网页页面格式控制内容进行处理了,相应的文本内容自然就被过滤掉了,所以,你应该编辑一下帖子,把代码贴进代码窗口。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-3 17:35:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2019-11-3 18:10 编辑

     内层循环 for(int j = 0 . . . . . .) 开始的时候,应该初始化 sum 的值为 0,试试我修改的代码:
#include <stdio.h> 
int main()
{
        int a[3][4] = {{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[i][j]            ;
                a[i][j] = sum                                                 ;
        }
        for (i = 0 ; i < 3 ; i ++) {
                for(int j = 0 ; j < 4 ; j ++) printf("%4d " , a[i][j])        ;
                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>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-3 17:48:20 | 显示全部楼层
#include <stdio.h>
int main()
{
    int a[3][4] = {{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[i][j];
        }
        a[i][3] = tmp;
    }
    for (size_t i = 0; i < 3; i++)
    {
        for (size_t j = 0; j < 4; j++)
        {
            printf("%3d  ", a[i][j]);
        }
        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>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-11-3 20:54:43 | 显示全部楼层
jackz007 发表于 2019-11-3 17:35
内层循环 for(int j = 0 . . . . . .) 开始的时候,应该初始化 sum 的值为 0,试试我修改的代码:

...

如果把列改成行  把计算的结果算到最为的一行是不是只需要把式子改了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-3 20:59:38 | 显示全部楼层
      当然了,那首先得修改数组 a,把所有的空缺集中留到最后一行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-4 19:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表