如题,代码看下面:
[C] 纯文本查看 复制代码 /*
2.定义一个3行3列的二维int数组,从控制台输入前三个元素的值,要求第一行的元素是1,3,5.
剩下的元素分别是该元素所在这一列的正上方的元素的3倍.打印这个二维数组从左上角到右下角这条对角线上元素的和.
1,3,5
3,9,15
9,27,45
*/
#include <stdio.h>
int main()
{
int arr[3][3];//定义数组
int sum=0;
for(int i=0;i<3;i++) //初始化前3个元素
{
printf("请输入第0行的第%d个元素:\n",i);
scanf("%d",&arr[0][i]);
}
for(int i=1;i<3;i++) //计算3倍
{
for(int j=0;j<3;j++)
{
arr[i][j]=arr[i-1][j]*3;
}
}
for(int i=0;i<3;i++) //输出结果
{
for (int j=0;j<3;j++)
{
printf("%d\t",arr[i][j]);
}
printf("\n");
}
for(int i=0;i<3;i++) //计算并输出对角线元素和(这里只计算了一条,其实应该是两条对角线上的元素和减去一个交叉点的元素值)
{
sum = sum + arr[i][i];
}
printf("对角线元素之和为:%d\n",sum);
return 0;
}
|