p1092

复制代码
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#define N 20

int main(){
    int n,i,j,k,p,q;
    while(scanf("%d",&n) != EOF){
        int a[N][N]={0};
        int b[N][N]={0};
        int c[N][N]={0};
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){            
                scanf("%d",&a[i][j]);
            }
        }
        scanf("%d",&k);
        p=k%4;
        q=(k-p)/4;
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                b[i][j]=a[i][j]+a[n+1-j][i]+a[n+1-i][n+1-j]+a[j][n+1-i];
            }
        }
        
        if(p==0){
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++){
                    c[i][j]=b[i][j]*q+a[i][j];    
                }
            }
        }
        else if(p==1){
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++){
                    c[i][j]=a[i][j]+b[i][j]*q+a[n+1-j][i];    
                }
            }
        }
        else if(p==2){
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++){
                    c[i][j]=a[i][j]+b[i][j]*q+a[n+1-i][n+1-j]+a[n+1-j][i];    
                }
            }
        }            
        else if(p==3){
            for(i=1;i<=n;i++){
                for(j=1;j<=n;j++){
                    c[i][j]=a[i][j]+b[i][j]*q+a[j][n+1-i]+a[n+1-i][n+1-j]+a[n+1-j][i];    
                }
            }
        }
        for(i=1;i<=n;i++){
            for(j=1;j<=n;j++){
                printf("%d ",c[i][j]);
            }
            printf("\n");
        }
    }
    
    return 0;
}
复制代码

 

posted @   zy050101-  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示