凯尼阿文 2017-12-02 04:08 采纳率: 100%
浏览 11829
已采纳

C语言二维数组输出矩阵

问题描述 :
 
从键盘上输入一个整数N,按以下规律输出一个(2N+1)*(2N+1)的矩阵:
对角线的值为1,
上半三角区域值为2,
下半三角区域值为3,
左半三角区域的值为4,
右半三角区域的值为5。

输入说明 :
 你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组测试数据数据占一行,大于零,小于等于8。
输出说明 :
 对每组测试数据,你的程序需要向标准输出文件(通常为启动该程序的终端)依次输出符合要求的矩阵,每行数据与数据之间以空格分隔,在行首和行尾不要输出多余的空格。在所有数据前后,以及两组数据之间不要输出多余的空行。

  • 写回答

4条回答 默认 最新

  • threenewbee 2017-12-02 04:33
    关注
     #include <stdio.h>
    int main()
    {
    int n = 0;
    //scanf("%d", &n);
    n = 5;
    for (int i = 0; i <= 2*n; i++)
    {
    for (int j = 0; j <= 2*n; j++)
    {
    if (i == j || i + j == 2*n) {printf("1\t"); continue;}
    if (j > i && j < 2* n - i && i < n) { printf("2\t"); continue; }
    if (j < i && j > 2* n - i && i > n) { printf("3\t"); continue; }
    if (j < i && j < 2* n - i)  { printf("4\t"); continue; }
    if (j > i && j > 2* n - i)   { printf("5\t"); continue; }
     printf("-\t");
    }
    printf("\n");
    }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助