d16845 2023-02-11 15:27 采纳率: 100%
浏览 52
已结题

由键盘输入任意一个自然数 N ,输出如下图:形如“沙漏”的由数字组成的图形。

由键盘输入任意一个自然数 N ,输出如下图:形如“沙漏”的由数字组成的图形。

  • 写回答

2条回答 默认 最新

  • 快撑死的鱼 2023-02-11 16:24
    关注

    回答不易 求求您采纳点赞哦 感激不尽

    用程序来构建如下图形,首先初始化一个N x N的字符数组,并将所有单元格设置为字符空格。接下来,从中心开始向四周绘制数字,以把所有的单元格都填满,形成如下图形。

    #include <stdio.h>
     
    int main(void) {
        int n;
        printf("Input N:\n");
        scanf("%d", &n);
     
        char arr[n][n];
        int i, j;
         
        for(i=0; i<n; i++) {
            for(j=0; j<n; j++) {
                arr[i][j] = ' ';
            }
        }
     
        int startRow = 0;
        int startCol = 0;
        int number = 1;
     
        while(number <= (2*n-1)) {
            if(number <= n) {
                for(i=startRow; i<(n-startCol); i++) {
                    arr[i][startCol] = (char)(number + 48);
                }
                 startCol++;
            }
            else {
                for(i=startCol; i<(n-startRow); i++) {
                    arr[n-startRow-1][i] = (char)(number + 48);
                }
                startRow++;
            }
            number++;
        }
     
        for(i=0; i<n; i++) {
            for(j=0; j<n; j++) {
                printf("%c", arr[i][j]);
            }
            printf("\n");
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月28日
  • 已采纳回答 3月20日
  • 创建了问题 2月11日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号