11.11C语言,输出菱形字符

一。输出菱形

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

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

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

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

这是一个编程题模板。

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

int main() {  
    int n,i,j,k;
    scanf("%d", &n);
    for(i=1;i<=n;i++){
        for(j=1;j<=n-i;j++){
            printf(" ");
        }
        for(k=1;k<=2*i-1;k++){
            printf("%c",'A'+i-1);
        }
        printf("\n");
    }
    for(i=n-1;i>=1;i--){
        for(j=1;j<=n-i;j++){
            printf(" ");
        }
            for(k=1;k<=2*i-1;k++){
                printf("%c",'A'+i-1);
            }
        printf("\n");
    }
    return 0;
}

这段代码中使用了 '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 的所有大写字母。

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

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

#include<stdio.h>
int main(){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        for(int j=n-1-i;j>0;j--)
        {
            printf(" ");
        }
        for(int k=i+1;k>0;k--)
        {
            printf("*");
            if(k>1)//关键,
            {
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}

输出效果:   

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值