A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangtianqi 中级黑马   /  2016-8-24 20:13  /  1441 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        定义一个3行3列的二维int数组,从控制台输入前三个元素的值,要求第一行的元素是1,3,5.剩下的元素分别是该元素所在这一列的正上方的元素的3倍.打印这个二维数组从左上角到右下角这条对角线上元素的和。这个题怎么做  谢谢;{:2_30:}

3 个回复

倒序浏览
思路分析:1,先定义一个3行3列的二维数组,按要求输入第一行的值,
回复 使用道具 举报
这个题重点在于分析从左上角到右下角之间行下标和列下标与行列之间的关系,不难发现这每一个数都是行=列的下标,这样遍历一样数组,将满足这个条件的相加就是这个题的答案,
回复 使用道具 举报
void test1() {     int a[3][3] = {0};     int nSum = 0;     for(int i = 0; i < 3; i++)     {         scanf("%d",&a[0][i]);         for(int j = 1; j < 3; j++)         {             a[j][i] = a[j - 1][i] * 3;         }     }          for(int i = 0; i < 3; i++)     {         for(int j = 0; j < 3; j++)         {             if(i == j)             {                 nSum += a[j][i];             }         }     }     printf("%d",nSum); }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马