• 1108 打印数字图形


    题目来源:

    https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1108

    Description
    从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用函数PrintLine()来输出图形中的一行,该行中的最大数字是m,函数原型如下:
    PrintLine(int m);
    Input
    正整数n(1≤n≤9)。
    Output
    指定数字图形。
    Sample Input
    5
    Sample Output
           1
         121
       12321
      1234321
    123454321
      1234321
       12321
         121
           1

    题意描述:
    输入正整数n(1≤n≤9)
    调用PrintLine()函数输出图形中的一行,该行中数字最大的是m

    解题思路:
    for循环,控制传递给函数该行的n为1到(m-1)*2+1,判断当i<=m时传递i,当i>m时,传递m--

    程序代码:

     1 #include<stdio.h>
     2 void PrintLine(int n);
     3 int m;
     4 int main()
     5 {
     6     int i,t;
     7     while(scanf("%d",&m)!=EOF)
     8     {
     9         for(t=m,i=1;i<=(m-1)*2+1;i++)
    10         {
    11             if(i<=m)
    12             PrintLine(i);
    13             else
    14             PrintLine(--t);
    15         }
    16     }
    17     return 0;
    18 }
    19 void PrintLine(int n)
    20 {
    21     int i,t,k;
    22     t=m-1+n;
    23     for(k=1,i=1;i<=t;i++)
    24     {
    25         if(i<=m)
    26         {
    27             if(i>m-n)
    28             printf("%d",k++);
    29             else
    30             printf(" ");
    31         }
    32         else 
    33         {    n--;
    34             printf("%d",n);
    35         }
    36     }
    37     printf("
    ");
    38  } 

    易错分析:
    注意相关变量的变换规律

    你的每一个点赞、一句留言,都将是是博主前进的动力,欢迎交流,共同进步——
  • 相关阅读:
    在CMD下用java命令出现“找不到或无法加载主类”问题
    去除后台ckeditor的style="...."的样式
    php图片上传
    html图片预览
    论文阅读
    论文阅读
    论文阅读
    论文阅读
    论文阅读
    论文阅读
  • 原文地址:https://www.cnblogs.com/wenzhixin/p/6765563.html
Copyright © 2020-2023  润新知