| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 16912 人关注过本帖
标题:c语言如何计算二维数组每行的和?
只看楼主 加入收藏
y529879803
Rank: 1
等 级:等待验证会员
帖 子:65
专家分:7
注 册:2016-11-10
收藏
 问题点数:0 回复次数:2 
c语言如何计算二维数组每行的和?

请问用c语言制作的二维数组怎么求每一行的和并输出呢?
#include<stdio.h>
#include<stdlib.h>
#define A 2
#define B 3
main()
{
    int a,b,c,d,e,f,g=0;
    int one[A][B];
    for (a=0;a<A;a++)
    {
    for (b=0;b<A;b++)
    {
        one[a][b]=rand()%9;
        printf("%4d",one[a][b]);}
    printf("\n");}

one[0][2]=one[0][0]+one[0][1];
    printf("%4d\n",one[0][2]);
        


for (a=0;a<2;a++){
    for (c=0;c<2;c++){
g+=one[a][c];

    one[a][B-1]=g;}
printf("%4d\n",g);
}}
我弄的这个是可以把一行的所有数加起来每一行输出一次,但它不能删除前一行的和,于是输出的第一个数字是数组第一行的和,第二个数字是第一行和第二行的和。但是我希望它可以每行求和输出。。。求指导!事实上还要二维数组按每行和的大小排序。。。
2016-11-10 14:54
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
程序代码:
#include<stdio.h>

int main(void)
{
    int  sum=0;
    int i,j;
    int base[4][5];
    //初始化数组
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&base[i][j]);
        }
    }
    //计算数组行求和
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            sum+=base[i][j];
        }
        base[i][4]=sum;
        sum=0;
    }
    //输出数组
    for(i=0;i<4;i++)
    {
        for(j=0;j<5;j++)
        {
            printf(" %d ",base[i][j]);
        }
        printf("\n");
    }
    //按行求和后排序输出数组,请自行书写代码
    return 0;
}

DO IT YOURSELF !
2016-11-10 16:20
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
回复 楼主 y529879803
如果二维数组的初始化是使用随机数的话  请参考下面代码
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h> 

int main(void)
{
    srand((unsigned)time(NULL));
    int  sum=0;
    int i,j;
    int base[4][5];
    //初始化数组
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            base[i][j]=rand()%1000;
        }
    }
    //计算数组行求和
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            sum+=base[i][j];
        }
        base[i][4]=sum;
        sum=0;
    }
    //输出数组
    for(i=0;i<4;i++)
    {
        for(j=0;j<5;j++)
        {
            printf("%5d",base[i][j]);
        }
        printf("\n");
    }
    //按行求和后排序输出数组,请自行书写代码
    return 0;
}


DO IT YOURSELF !
2016-11-10 16:25
快速回复:c语言如何计算二维数组每行的和?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031477 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved