当前位置:   article > 正文

PTA第L1-002题--沙漏问题_pta l1-002答案

pta l1-002答案
  1. #include <stdio.h>
  2. int main()
  3. {
  4.     int n = 1, s = 1, num;       //n层数,num星号数,s符号使用数
  5.     char ch;
  6.     scanf("%d %c", &num, &ch);
  7.     //计算余数
  8.     while (s <= num)
  9.     {
  10.         n++;
  11.         s = 2 * n * n - 1;
  12.     }
  13.     n--;
  14.     s = 2 * n * n - 1;
  15.     //画渗漏上部
  16.     int i, j, k;              //你现在处于第i层,j为空格数,k为符号数
  17.     for ( i = 1; i <= n; i++ )
  18.     {
  19.         for ( j = 1; j < i; j++ )//画' '
  20.         {
  21.             printf(" ");
  22.         }
  23.         for ( k = 1; k <= (n - i) * 2 + 1; k++ )
  24.         {
  25.             printf("%c", ch);
  26.         }
  27.         printf("\n");
  28.     }
  29.     //画沙漏下部
  30.         for ( i = 1; i < n; i++ )
  31.     {
  32.         for ( j = 1; j <= n - i - 1; j++ )//画' '
  33.         {
  34.             printf(" ");
  35.         }
  36.         for ( k = 1; k <= (i + 1) * 2 - 1; k++ )
  37.         {
  38.             printf("%c", ch);
  39.         }
  40.         printf("\n");
  41.     }
  42.     printf("%d\n", num - s);
  43.     return 0;
  44. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/935758
推荐阅读
相关标签
  

闽ICP备14008679号