IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 有趣的C语言 -> 正文阅读

[C++知识库]有趣的C语言

C语言作为编程界语言的老大哥,常年排列在年度最受欢迎的编程语言榜单的前三名中,吸引无数多的青年们去学习,正所谓“C生万物”嘛,C语言建立在二进制上,而其他语言建立在C语言上,所以,我今天将为大家带来一个个比较有趣的小程序,难度较易,适合接触C语言不久的人观看。

1.这个程序可以让一排#在多次打印的过程中,左右两边同时被另外一些字符替代,直到最后#全部被替代掉。

在编写代码之前,我们需要先在里面建立两个两字符数组,并且我们要保证两个字符数组长度要相同,如下:

int main ()
{
char arr1[]="Thank for reading my article";
char arr2[]="############################";
}

接下来我们都知道数组可以由下标访问,并且下标是从零开始的,如图:


我们可以通过下标左右同时一个一个的访问,然后再进行修改。那问题来了,怎么一个一个访问呢,这就要求我们的每次访问时下标都不一样,也就是下标时刻要发生变化,直到数组的全部元素都已经访问了。那我们就可以设置一个变量left变量right和一个循环,在这个循环每进行一次,我的两个变量就变化一次,这样也就满足我们的要求了,如下:
请添加图片描述
那么如何变化呢,这就要求我们要进一步思考了,变量right从右边作为下标开始,既然要向中间移动,就要让变量right每次减1,同样的道理,变量left作为最左边开始,要向中间移动,每次就要增加1;

然后我们再加个strlen的库函数计算数组长度,进而求出变量right的初始值,也就是strlen求出来的值减一,保证能让数组访问到最后一个元素并且修改,并且加入到这个循环的限制条件,也就是变量right的值要时刻比变量left大。因为,变量right是从最右边开始作为下标并且发挥作用的,肯定要比变量left大,所以变量left<变量right也是循环的限制条件,保证我们的循环不会进入死循环。


#include<stdio.h>
#include<string.h>
int main ()
{
  char arr1[]="Thank for reading my article";
  char arr2[]="############################";
  int sz=strlen(arr2)-1;
  int left=0;
  int right=sz;
  while(left<right)
  {
     left++;
     right--;
  }
  return 0;
}


最后,我们要让字符数组arr2被arr1替代,再打印arr2字符数组,如下:

#include<stdio.h>
#include<string.h>
int main ()
{
  char arr1[]="Thank for reading my article";
  char arr2[]="############################";
  int sz=strlen(arr2)-1;
  int left= 0;
  int right= sz;
  while(left<right)
  {
    arr2[left]=arr1[left];
    arr2[right]=arr1[right];
     left++;
     right--;
     printf("%s\n",arr2);
  }
  return 0;
}

请添加图片描述
当然,我们可以再添加一些函数,让这个结果不会太早出现。如:
在最前面的头文件添加include<windows.h>,然后在循环的里面最后一行加入Sleep(1000),让打印函数每进行一次,停止一秒,这样就有了持续变化的结果。

#include<stdio.h>
#include<string.h>
#include<windows.h>
int main ()
{
  char arr1[]="Thank for reading my article";
  char arr2[]="############################";
  int sz=strlen(arr2)-1;
  int left= 0;
  int right= sz;
  while(left<right)
  {
    arr2[left]=arr1[left];
    arr2[right]=arr1[right];
     left++;
     right--;
     printf("%s\n",arr2);
     Sleep(1000);
  }
  return 0;
}

结果如下:
请添加图片描述
请添加图片描述
请添加图片描述
直到字符数组arr2全部被替换。

今天的分享就到此为止了,如果觉得写得还可以,关注一波再走,后期更精彩。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-21 21:19:47  更:2022-07-21 21:21:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:46:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码