C语言 表白代码(I love you!)

0-127 是 7位ASCII 码的范围,是国际标准。
至于汉字,不同的字符集用的ascii 码的范围也不一样,常用的汉字字符集有GB2312-80、GBK、Big5、unicode 等。

其中GB_2312 字符集是目前最常用的汉字编码标准,windows 95/98/2000 中使用的 GBK字符集 就包含了GB2312,或者说和GB2312 兼容,GB_2312 字符集包含了 6763个的 简体汉字,和682 个标准中文符号。
在这个标准中,每个汉字用2个字节来表示,每个字节的ascii码为 161-254 (16 进制A1 - FE),第一个字节 对应于 区码的1-94 区,第二个字节 对应于位码的1-94 位。

206(CE)是区码,对应码表纵坐标,210(D2)是区码,对应码表横坐标,查表得汉字“我”。
176(B0)是区码,对应码表纵坐标,174(AE)是区码,对应码表横坐标,查表得汉字“爱”。

1.利用ASCII码使数字转化为中文(GB_2312 字符集)

(1)两个特定的ASCII码值,放在数组中,按字符型(%c)输出就会组成一个汉字
(2)对于ASCII码,33、-223、289表示的是同一个字符 ‘ !’,以256为一个循环。 两个ASCII码在输出的时候必须紧挨,中间不要有任何字符,不然会造成乱码。

2.举个例子

206+210=我
176+174=爱
184+184=父
208+208=行
193+193=亮
183+183=贩
198+198=破
131+131=傻
188+188=技
177+177=北
180+180=创
181+181=档
182+182=抖
185+185=构
186+186=汉
187+187=换
191+191=靠
196+196=哪
195+195=妹
202+202=适
197+197=排
200+200=热
214+214=种
199+199=乔
213+213=照
199+199=乔
204+204=烫
192+192=览
180+181=吹
181+182=刀
176+177=氨
204+205=掏
206+207=蜗
192+193=懒
187+188=患
182+183=斗
185+186=购
190+191=究
191+192=坷
197+198=牌
180+181=吹
183+184=犯
193+194=谅
194+195=旅
198+199=魄
199+200=侨
203+204=颂
206+207=蜗
207+208=闲
208+209=醒
209+210=岩
176+178=安
177+179=背
178+180=泊
179+181=车
180+182=炊
183+185=饭
184+186=负
185+187=够
186+188=杭
187+189=唤
188+190=季
190+192=纠
195+197=门
198+200=迫
199+201=巧
200+202=仁
201+203=伤
203+205=送
204+206=涛
205+207=拖
208+210=幸
210+212=以
211+213=诱
212+214=灾
213+215=兆
214+216=重
215+217=踪
176+179=俺
177+180=贝
178+181=驳
181+184=蹈
182+185=豆
183+186=泛
184+187=富
185+188=辜
186+189=航
193+196=聊
194+197=屡
195+198=闷
196+199=那
200+203=人
201+204=商
202+205=释
203+206=宋
209+212=言
210+213=艺
211+214=又
212+215=宰
217+220=余
176+180=按
178+182=捕
179+183=撤
181+185=倒
182+186=逗
188+192=祭
195+199=们
197+201=派
200+204=忍
201+205=赏
202+206=饰
212+216=载
213+217=召
214+218=众
177+182=倍
181+186=岛
183+188=芳
214+219=舟
215+220=总
212+217=再
210+215=易
208+213=姓
207+212=显
190+185=久
176+182=岸
180+186=春
182+188=都
183+189=方
200+206=任
201+207=上

#include<iostream>
using namespace std; 
int main()
{
	int i;
    int b[]={32,32,206,210,207,178,187,182,196,227,33,32,32};
    for(i=0;i<13;i++)                   
    {                    // 每两个ASCLL码组成一个汉字,其中32,32为两个空格(相当于一个汉字,2个字节);206,210组成'我';207和178组成'喜';187和182组成'欢';196和227组成'你';
        printf("%c",b[i]);
    }
    printf("\n");
    return 0;
}


输出结果为: 我喜欢你!(前面有两个空格)

在这里插入图片描述

#include<stdio.h>
int main()
{
    int i;
    for(i=129;i<=247;i++)
    printf("%d+%d=%c%c\t",i,i+2,i,i+2);
    printf("\n");
    return 0;
}

在这里插入图片描述

#include<stdio.h>
int main(void)
{
	char s[]="啊";//汉字在C/C++中是用2个字节表示的,而对应的ASCII码则是两个负数。
	char m[3];
	printf("%d %d\n",s[0],s[1]);  /*注释 s[0]=-80,s[1]=-95  注释*/
	m[0]=-80;
	m[1]=-95;
	m[2]=0;
	puts(m);//两个字节连起来凑成一个汉字。
}

在这里插入图片描述

#include<stdio.h>
int main()
{
 int i;
 printf("%c%c\n",0xC3,0xFC);
 return 0;
}

在这里插入图片描述

3.实例

#include<stdio.h>
#include<math.h>
#include<windows.h>
#include<time.h>
#define U 0.1
#define V 0.053
void SetColor(unsigned short ForeColor,unsigned short BackGroundColor)
{
	HANDLE hCon=GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hCon,(ForeColor%16)|(BackGroundColor%16*16));
}
int main()
{
	int i,s=0,t,a=10,b=11,c=12,d=13,e=14;
	int z[] = {32,32,206,210,207,178,187,182,196,227,33,32,32};
	float x,y;
	srand(time(NULL));
	for(y=1.3;y>=-1.1;y-=U)
	{
		for(x=-2;x<1.4;x+=V)
		{
			if((((x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y)<=0))
			{
				if(y>=1.3-10*U||y<=1.3-11*U)
				{
				s++;
				if(s%4==1){SetColor(a,0);printf("l");}
				if(s%4==2){SetColor(e,0);printf("o");}
				if(s%4==3){SetColor(c,0);printf("v");}
				if(s%4==0){SetColor(d,0);printf("e");}
				}
				else
				{	
					for(i = 0;i < 42;i++)
					{	
						if(i<=14||i>=28)
						{
							s++;
							if(s%4==1){SetColor(a,0);printf("l");}
							if(s%4==2){SetColor(e,0);printf("o");}
							if(s%4==3){SetColor(c,0);printf("v");}
							if(s%4==0){SetColor(d,0);printf("e");}
						}
						else
						{
							SetColor(b,0);
							printf("%c", z[i-15]);
							Sleep(50);
						}
					}
					break;
				}
			}
				else
					printf(" ");
					Sleep(1);
		}
	printf("\n");
	}
	printf("按任意键继续!");
	getchar();	
	while(1)
	{
				system("cls");
			t=a;a=b;b=c;c=d;d=e;e=t;
			for(y=1.3;y>=-1.1;y-=U)
		{
			for(x=-2;x<1.4;x+=V)
			{
				if((((x*x+y*y-1)*(x*x+y*y-1)*(x*x+y*y-1)-x*x*y*y*y)<=0))
				{
					if(y>=1.3-10*U||y<=1.3-11*U)
					{
					s++;
					if(s%4==1){SetColor(a,0);printf("l");}
					if(s%4==2){SetColor(b,0);printf("o");}
					if(s%4==3){SetColor(c,0);printf("v");}
					if(s%4==0){SetColor(d,0);printf("e");}
					}
					else
					{	
						for(i = 0;i < 42;i++)
						{	
							if(i<=14||i>=28)
							{
								s++;
								if(s%4==1){SetColor(a,0);printf("l");}
								if(s%4==2){SetColor(b,0);printf("o");}
								if(s%4==3){SetColor(c,0);printf("v");}
								if(s%4==0){SetColor(d,0);printf("e");}
							}
							else
							{
								SetColor(e,0);
								printf("%c", z[i-15]);
							}
						}
						break;
					}
				}
					else
						printf(" ");
			}
				printf("\n");
		}
			Sleep(1000);
			system("cls");
			
	}
}

运行结果如下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 176
    点赞
  • 720
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值