C语言实现,输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

本文介绍了如何在C环境中通过指定字符内码输出特定图案,并讲解了由于代码页不同导致的显示问题。通过修改控制台的默认代码页从936(GBK)更改为437(OEM-美国),可以正确显示扩展ASCII码。提供了两种代码实现,一种是直接修改控制台代码页,另一种是通过预设代码页进行输出。虽然作者认为图案‘VeryUgly!’,但该过程对于理解字符编码和控制台显示机制有一定帮助。

题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

tips:

176的16进制是B0,219的16进制是DB,0xB0DB是"佰"字的内码,所以输出的就是"佰"了。

主要原因是文件信息的代码页不同,我们所使用的操作系统中文状态下的代码页,要显示扩展的ASCII码需要在437 OEM-美国这个下面显示。

具体修改控制台的默认代码页步骤如下:

  • 1.点击运行界面左上角标题栏图标【c:\】,选择默认值一项
  • 2.修改默认代码页,936(ANSI/OEM-简体中文GBK)为437 OEM-美国
  • 3、关闭后重新运行一下即可

代码实现:

/*输出特殊图案,请在c环境中运行,看一看,Very Beautiful!*/
#include <stdio.h>

int main() {
    char a = 176, b = 219;
    printf("%c%c%c%c%c\n", b, a, a, a, b);
    printf("%c%c%c%c%c\n", a, b, a, b, a);
    printf("%c%c%c%c%c\n", a, a, b, a, a);
    printf("%c%c%c%c%c\n", a, b, a, b, a);
    printf("%c%c%c%c%c\n", b, a, a, a, b);
    return 0;
}

 如无法修改可参考下列代码:

/*输出特殊图案,请在c环境中运行,看一看,Very Beautiful!*/
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main(void)
{
    int i, j;
    SetConsoleOutputCP(437);
    char a = 176, b = 219;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            if (i == j || (i + j + 1) == 5)
                printf("%c", b);
            else
                printf("%c%c", a, a);
        }
        printf("\n");
    }
}

实现结果:

 

        (本人觉得very ugly!) 

可参考:修改 cmd 控制台默认代码页编码的几种方法【GBK、UTF-8】_「已注销」的博客-CSDN博客_注册表修改了cmd的编码方式

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值