【C语言】这个简单的代码第一次勾起了我对编程的兴趣

Author:MTingle
人工智能专业
荃者所以在鱼,得鱼而忘荃;蹄者所以在兔,得兔而忘蹄;言者所以在意,得意而忘言。吾安得夫忘言之人而与之言哉!


上代码:

#include<windows.h>
#include<stdio.h>
#include<string.h>
int main()
{
	char arr1[] = "Welcome to my thought!!!";
	char arr2[] = "************************";
	int left = 0;
	int right = strlen(arr2) - 1;
	while (left <= right)
	{
		arr2[left] = arr1[left];
		arr2[right] = arr1[right];
		printf("%s\n", arr2);
		Sleep(233);
		system("cls");
		left++;
		right--;
	}
	printf("%s\n", arr2);
}

这其实是一个再简单不过的代码,就是左右动态打印"Welcome to my thought!!!"

首先我们要得到字符串的长度,最左边和最右边的数组下标,然后就是将这个数组打印出来,所以我们需要设置一个while循环,那么循环什么时候停止呢,那当然是当我们的左右打印的字母会和的时候,所以要做到while(left<=right),我们设置了两个数组,然后用数组arr1不断覆盖数组arr2的内容,每覆盖一次,就打印一次。

但是因为计算机的运行速度太快了,所以我们需要Sleep这个函数,简单理解就是让计算机休息一下,停止运行一会,括号里面单位是毫秒,这个函数需要头文件#include<windows.h>

那么我们知道,打印之后内容会停在屏幕上,所以我们每覆盖一次就需要清屏一下,然后下一次打印的时候,就好像是上次的内容直接被这次的覆盖了,所以我们需要用到system("cls")这个函数,这个函数同样需要包含头文件#include<windows.h>(cls表示清屏的意思,是一个命令)

每打印一次,我们的数组下标就要移动一下,所以就有了left++和right--;

因为我们知道cls放在了printf后面,所以我们的打印结果最后一定会被清空,所以我们需要退出循环后,再次将"Welcome to my thought!!!"打印出来,就好像他是顺着跑出来的一样


总结:

或许我们在学校中一直在刷题,刷着刷着有的人受挫就失去了对编程的兴趣,或许我们可以用我们有限的知识写一些有趣的代码,让我们感受到编程有趣的一面

相信在做这个问题的大家肯定是刚刚步入大一的新生,你们或许正在被C语言困扰,希望这些博客可以帮助到你们,作为一个曾经也被C困扰的过来人,上课听不懂是常态,希望大家不要焦虑不要迷茫,不会写不知道怎么下手是一件再正常不过的事情,当你看的越来越多,做的越来越多,你的代码能力一定会有很大的提升的!!!

博主将持续更新有关C语言的基础题目,java的基础练习,以及数据结构的内容,有需要的可以关注一下

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值