当前位置:   article > 正文

11.11C语言,输出菱形字符_多重循环 3-1 输出菱形字符阵列

多重循环 3-1 输出菱形字符阵列

一。输出菱形

如何输出一个实心菱形?利用for循环嵌套的模式

以生成一个由*形成的菱形为例,需要输出特定的空格数和*号数

如输出2n-1行由*构成的菱形,n=5时

主要是先输出空格,然后是字符,注意空格和字符的变化规律;

这是一个编程题模板。

本题要求编写程序,输出2n-1行由大写字母A开始构成的菱形字符阵列。#include <stdio.h>  
  

  1. int main() {  
  2.     int n,i,j,k;
  3.     scanf("%d", &n);
  4.     for(i=1;i<=n;i++){
  5.         for(j=1;j<=n-i;j++){
  6.             printf(" ");
  7.         }
  8.         for(k=1;k<=2*i-1;k++){
  9.             printf("%c",'A'+i-1);
  10.         }
  11.         printf("\n");
  12.     }
  13.     for(i=n-1;i>=1;i--){
  14.         for(j=1;j<=n-i;j++){
  15.             printf(" ");
  16.         }
  17.             for(k=1;k<=2*i-1;k++){
  18.                 printf("%c",'A'+i-1);
  19.             }
  20.         printf("\n");
  21.     }
  22.     return 0;
  23. }

这段代码中使用了 'A' + i - 1 的表达式来输出字符。这种写法是正确的,因为字符在内存中是以整数形式存储的。

当使用 'A' + i - 1 时,实际上是将字符 'A' 的 ASCII 码值(65)加上 i - 1 的值,得到一个新的 ASCII 码值。由于 ASCII 码表中相邻的字符之间的值是连续的,所以这个新的 ASCII 码值对应的字符正好是 'A' 加上 i - 1 的结果。

例如,当 i = 2 时,'A' + i - 1 的值为 'A' + 2 - 1,即 'A' + 1,对应的 ASCII 码值为 66,也就是字符 'B'。因此,这段代码使用 'A' + i - 1 来输出从 'A' 到 'A' + n - 1 的所有大写字母。

这种写法是合法的,并且可以方便地输出所需的字符。

二。输出三角形(带空格)

  1. #include<stdio.h>
  2. int main(){
  3. int n;
  4. scanf("%d",&n);
  5. for(int i=0;i<n;i++)
  6. {
  7. for(int j=n-1-i;j>0;j--)
  8. {
  9. printf(" ");
  10. }
  11. for(int k=i+1;k>0;k--)
  12. {
  13. printf("*");
  14. if(k>1)//关键,
  15. {
  16. printf(" ");
  17. }
  18. }
  19. printf("\n");
  20. }
  21. return 0;
  22. }

输出效果:   

    *
   * *
  * * *
 * * * *
* * * * *

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

闽ICP备14008679号