//下面程序的功能是将一个 4×4 的数组进行逆时针旋转 90 度后输出，要求原始数组的数据随机输入，新数组以 4 行 4 列的方式输出。

//主要涉及知识点：二维数组的输入及输出、循环嵌套与二维数组的结合、输出的格式控制。


#include <stdio.h>
int main(){
    int a[4][4],b[4][4],i,j; /*a 存放原始数组数据，b 存放旋转后数组数据*/
    printf("input 16 numbers: ");
    /*输入一组数据存放到数组 a 中，然后旋转存放到 b 数组中*/
    for(i=0;i<4;i++){
        for(j=0;j<4;j++){
            scanf("%d",&a[i][j]);
            printf("%6d",a[i][j]);
            b[3-j][i]=a[i][j];
        }
        printf("\n");
    }
    printf("array b:\n");
    for(i=0;i<4;i++){
        for(j=0;j<4;j++)
            printf("%6d",b[i][j]);
        printf("\n");
    }
    return 0;
}

//运行结果：
//input 16 numbers: 1 34 6 4 56 2 5 6 9 12 23 23 46 77 12 34
//     1    34     6     4
//    56     2     5     6
//     9    12    23    23
//    46    77    12    34
//array b:
//     4     6    23    34
//     6     5    23    12
//    34     2    12    77
//     1    56     9    46
