Hello!大家好!新的一年又到来了,祝大家能在以后的日子里用幸福拥抱未来,用欢乐填满生活。
过年除了发红包,大家还会互相送上祝福,有的以发送电子邮件作为送上祝福的方式,有的以视频、语音等送上自己真挚的祝福,如果条件允许自然是亲自送上祝福更好。但随着时代的发展,大家的交友范围也开始变得广泛,我们可能因此拥有天南海北的朋友,而有时候因为相隔异地,有时候又因为身不由己,让我们不能亲自送上祝福。有的时候也会想:你我相遇终究是一种缘分,即使我们之间的关系普通——也只是认识而已,却依然想为你送上祝福,祝愿一切安好!
新年祝福最重要的是自己的心意,所以今年的祝福,我以自己所学,不断修改代码,成功让祝福的话语显示在了屏幕上。尽管代码的功能(功能:在屏幕上逐渐显示一句句祝福,再整体显示前面每句祝福,最后可补充语句。)不是那么完善,但也是尽我所能了。毕竟我暂时所学有限。代码如下:
#include<stdio.h>
#include<windows.h>//Sleep的使用要包含该头文件
#include<stdlib.h>//system的使用要包含该头文件
int main()
{
char arr1[][25] = { "伍儿","新年快乐","祝你每天开心快乐" };//给二维数组赋初值,汉字占2个字节
char arr2[][25] = { "****","********","****************" };//用任意字符表示未知内容,一个字符占1个字节
int i = 0;//给i赋初值,i为行下标,C语言一般规定数组下标从0开始
for (i = 0; i < 3; i++)//因为祝福有3行,要循环3次
{
int left1 = 0;//left1=0表示首列的数,与行无关
int right1 = 24;//right1=0表示尾列的数,与行无关
int count=0;//计数赋初始值
//可以类比一维数组演示多个字符从两端移动,向中间汇聚的示例
while (left1 <= right1)
/*假设有一个方阵的人,大概4行n列。此时我想将该方阵的所有人移到另一个方阵的位置上,每个人站位依然
保持不变。则我们需要将每一行的第一列的人放在相应的位置上,依次类推,将每一行的第n列放在相应的位
置。为了节约时间,我们打算将每行的第一个人(应站在另一个方阵对应的第m行第一列)和最后一个人(应站
在另一个方阵对应的第m行第最后一列)同时放在自己对应的位置上,再接着将每行的第一个人(假设编号为0)
往后推,是第二个人(编号为1)、第三个人(编号为2)......,同时将每行的最后一个人(编号为n-1)往前
推,是倒数第二个人(编号为n-2)、倒数第三个人(编号为n-3)......,(n是一行有多少人,n>1)。直至
两边的编号要靠拢为止。*/
{
arr2[i][left1] = arr1[i][left1];//将arr1前面部分从头开始赋值给arr2
arr2[i][right1] = arr1[i][right1];//将arr1后面部分从最后返回赋值给arr2
//‘=’在C中是赋值运算符,并不是数学中的等于,C中的等于用‘==’表示
count++;//每完成一次上面的公式,计数就加一
system("cls");//这是系统自带的页面刷新功能,要使用头文件<stdlib.h>
printf("%s\n", arr2[i]);//arr2变化时每行的内容
Sleep(500);/*单位是毫秒,要使用头文件<Windows.h>,是变化时的停顿时间,括号内的值可
以任意设置*/
left1++;//前面的依次向后推进
right1--;//后面的依次向前赶
if (count = 13)//每改变一个i值,都是一个i计数13次,完成复印一行的内容
{
system("cls");//刷新页面,即清除最后一条语句
}
}
}
printf(" **伍儿** \n");//循环完成后再将前面的祝福语句以自己想要的格式再打印一遍
printf(" **新年快乐** \n");
printf("**祝你每天开心快乐**\n");
Sleep(2000);//停顿2000毫秒
system("cls");//停顿2000毫秒后,将前面页面上的所有内容清除
printf("伍儿\n别不开心了\n我会陪着你的,也会有很多人爱着你的。\n");
//最后在新的页面上打印补充话语,或者还想说的话
return 0;
}
zhe's以上代码运行视频
这是我第二次写博客了,还是有很多差劲的地方,希望大家多多包涵!
最后再次祝大家新年快乐!