c语言之对方阵做统计处理

描述

输入一个N*N的一个方阵,依次做如下处理:

(1)求两条对角线上各元素之和S1并输出;

(2)求两条对角线上行列下标均为偶数的各元素的乘积S2并输出;

(3)将该方阵中心位置固定,将方阵顺时针反向旋转90度得到新的方阵,然后输出。

输入

第一行,1个正整数n,n大于1但不超过30;

接下来n行,每行n个整数,整数间用空格隔开。

输出

第一行输出三个整数S1和S2。

接下来的N行输出旋转后得到的新方阵。

所有数据之间用1个空格隔开,每行的行首行末均无空格。

输入样例 1 

3
4 9 3
3 5 7
8 1 6

输出样例 1

26 576
8 3 4
1 5 9
6 7 3

#include<stdio.h>
int main()
{
    int n,i,j,a[30][30]={0},s1=0,s2=1,b[30][30]={0},z=0,h=0,y=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
  {
          for(j=0;j<n;j++)
    {
        scanf("%d",&a[i][j]);
    }

  }

for(i=0;i<n;i++)
  {
          for(j=0;j<n;j++)
    {
        if(i==j||(i+j==n-1))
     {  s1=s1+a[i][j];
       if((i%2==0&&j%2==0)||(i%2==0&&(n-1-i)%2==0))
        s2=s2*a[i][j];

    }
    }

  }
    printf("%d",s1);


    printf(" %d\n",s2);


    for(i=0;i<n;i++)
  {    int sp=0;
          for(j=n-1;j>=0;j--)
    {   if(sp!=0)
    printf(" ");
        printf("%d",a[j][i]);
        sp++;
    }
    printf("\n");

  }}

思路先写输入,在写对角线,可以发现i+j=n-1的和i==j的都在对角线直接写

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值