黑马程序员技术交流社区
标题:
二维数组的问题
[打印本页]
作者:
wangtianqi
时间:
2016-8-24 20:16
标题:
二维数组的问题
定义一个3行3列的二维int数组,从控制台输入前三个元素的值,要求第一行的元素是1,3,5.剩下的元素分别是该元素所在这一列的正上方的元素的3倍.打印这个二维数组从左上角到右下角这条对角线上元素的和。这个题怎么做 谢谢;{:2_30:}
作者:
wjk930726
时间:
2016-8-24 20:27
本帖最后由 wjk930726 于 2016-8-24 21:10 编辑
int arr[3][3] = {{1,3,5},0,0};
for(int i =1; i<=2; ++i)
for(int j = 0; j < 3; ++j)
arr[j] = arr[i-1][j] * 3;
for(int i = 0; I < 3; ++i)
printf("%d",arr
);
作者:
hbpiaoyi
时间:
2016-8-24 21:38
本帖最后由 hbpiaoyi 于 2016-8-24 21:44 编辑
int a[3][3] = {1, 3, 5}, sum =0;
for (int i=1; i<3; i++)
for (int j=0; j<3; j++)
a
[j] = a[i-1][j] * 3;
for (int i=0; i<3; i++)
sum += a
;
printf("%d", sum);
作者:
赵延达
时间:
2016-8-24 23:18
不错不错,学习了
作者:
1358840521
时间:
2016-8-25 00:30
来来,凑个热闹
#include <stdio.h>
int main()
{
//声明1个int类型3行3列的二维数组,第一行元素是1,3,5
int arr[3][3] = {1,3,5};
//实现剩下的元素分别是该元素所在这一列的正上方的元素的3倍
for(int i = 1;i < 3;i++)
{
for(int j = 0;j < 3;j++)
{
arr[i][j] = 3 * arr[i-1][j];
}
}
//声明和并赋初值0
int sum = 0;
//遍历这个二维数组
for(int k = 0;k < 3;k++)
{
for(int h = 0;h < 3;h++)
{
printf("%d\t",arr[k][h]);
if(k == h)
{
sum += arr[k][h];
}
}
printf("\n");
}
printf("和为%d\n",sum);
return 0;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2