零K沁雪


私信TA

用户名:qczl

访问量:74781

签 名:

零K沁雪

等  级
排  名 40
经  验 12034
参赛次数 3
文章发表 35
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

解题思路:

1、矩阵选择使用二维数组 a[x][y] 来存储。

2、使用二维数据存储数据时,需要2个for循环来获取数据

3、主对角线的数据特征是 x=y, 副对角线的数据特征是x+y=2

注意事项:

参考代码:

#include<stdio.h>
int main()
{
    int x, y, sum1 = 0, sum2 = 0, a[3][3];
    for(x=0; x<3; x++)
    {
        for(y=0; y<3; y++) 
        {
            scanf("%d", &a[x][y]);
            if(x == y)
                sum1+=a[x][y];
            if(x+y == 2)
                sum2+=a[x][y];
        }
    }
    printf("%d %d", sum1, sum2);
    return 0;
}


 

0.0分

147 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

#include<stdio.h>
int main()
{
	int arr[9] = { 0 };
	int i = 0,z=0,f=0;
	for (i = 0; i <= 8; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (i = 0;i<=8; i += 4)//0 4 8
	{
		z += arr[i];
	}
	printf("%d ", z);
	for (i = 2;i<7; i += 2)//3 5 7/2 4 6
	{
		f += arr[i];
	}
	printf("%d", f);
	return 0;
}
2024-01-20 16:19:53
这个为什么答案对一半啊
#include<stdio.h>
main() {
	int s[3][3];
	int sum1 = 0, sum2 = 0, j = 0;

	for (int i = 0; i < 3; i++) {
		for (int j = 0; j < 3; j++) {
			scanf("%2d", &s[i][j]);
		}
	
	}
	for (int i = 0; i < 3; i++) {
		sum1 = s[i][i] + sum1;
	}
	for (int k = 2; k > -1; k--) {
			sum2 = s[j][k] + sum2;
			j++;
		}
		printf("%d %d", sum1, sum2);
}
2023-08-09 11:09:02
#include<stdio.h>
int main()
{
	int a[3][3];
	int i,j,sum1=0,sum2=0;
    for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            scanf("%d",&a[i][j]);
            if(i==j)//
            sum1=sum1+a[i][j];
            if(i+j==2)
            sum2=sum2+a[i][j];
        }
    }
    printf("%d %d",sum1,sum2);
	return 0;
}
2023-02-05 20:43:53
请问一下我这样为什么是错的,有大佬可以帮我解答一下吗,谢谢!
#include<stdio.h>
int main()
{
    int a[3][3];
    int i,j,sum1=0,sum2=0;
    for(i;i<3;i++)
    {
        for(;j<3;j++)
        {
            scanf("%d",&a[i][j]);
        }
    }
    for(i;i<3;i++)
    {
        for(j;j<3;j++)
        {
           if(i==j) 
           sum1 +=a[i][j];
           if(i+j==2)
           sum2 +=a[i][j];
        }
    }
   printf("%d %d",sum1,sum2);
   return 0;
}
2023-01-19 20:50:55
主对角线和副对角线是啥
2022-06-30 22:31:59
#include <stdio.h>


void CalData(int ptr[][3]);

int main(void)
{
    int data[3][3] = {0};
    for(int i = 0;i < 9;i++)
    {
        scanf("%d",&data[i / 3][i % 3]);
    }
    CalData(data);
    return 0;
}

void CalData(int ptr[][3])
{
    int sum_Master = 0,sum_Slave = 0;
    for(int i = 0;i < 3;i++)
    {
       sum_Master += ptr[i][i];
       sum_Slave += ptr[i][2 - i];
    }
    printf("%d %d\n" ,sum_Master ,sum_Slave);
}
2022-05-29 15:41:38
#include<stdio.h>
#define N 3
int main(void)
{
	int number[N][N] = { 0 };
	int i = 0, j = 0, sum = 0, all = 0;
	int* p = number;
	for (i = 0; i <= 8; i++)
	{
		scanf_s("%d", (p + i));
	}
	for (i = 0 , j = 0; i<N ; i++ , j++)
	{
		sum += number[i][j];
		all += number[i][N - 1 - j];
	}
	printf("%d %d", sum, all);
	return 0;
}
大佬,为啥我用指针来给数组赋值,结果0分呢?
2022-05-28 10:39:22
#include<stdio.h>
int main()
{
	int a[5][5]={0};
	int i,j;
	int sum1=0,sum2=0;
	for(i=1;i<4;i++)
	{
		for(j=1;j<4;j++)
	scanf("%d",&a[i][j]); 
	}
	for(i=1;i<5;i++)
	{
		for(j=1;j<5;j++)
		{
			if(i==j)
			{
				sum1=sum1+a[i][j];
			}
			if(j+i==4)
			{
				sum2=sum2+a[i][j];
			}
		}
	}
	printf("%d %d\n",sum1,sum2);
	return 0;
}
2022-05-08 15:06:38