
典型编程练习分享
文章平均质量分 68
以具体问题为基础,跳出语言限制框架,举一反三,融会贯通。
大家好我叫张同学
为了方便小伙伴们的学习和借鉴,我已取消了所有博客的水印!快来一起学习吧~
展开
-
【C语言基础学习---三子棋游戏】(包含详细讲解+优化策略及实现)
三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。但是,有很多时候会出现和棋的情况。我们学习c语言也有一段时间了,现在我们尝试自己用C语言写一个三子棋小游戏玩玩吧!前期准备:工程文件思路:主函数放到ticktacktoe(三子棋)中三子棋具体的实现放到game.c / game.h中主函数游戏思路:三子棋游戏思路:1、至少玩一次,可以玩多次,do…while循环2、进入游戏原创 2021-04-25 14:16:56 · 3986 阅读 · 15 评论 -
【C语言基础学习笔记】三、函数(2)--- 函数递归详解
The best time to plant a tree was 10 years ago. The second best time is now翻译:种一棵树最好的时间是十年前,其次是现在所谓运气,不过是机会碰巧遇到了你的努力本章内容是对递归详细讲解,中间穿插了较多的递归经典案例,方便我们理解递归的思想以及使用递归去解决实际的问题。文章目录1、函数递归练习1 : (画图讲解)练习2∶(画图讲解)练习3∶练习4∶2、递归练习:1、字符串逆序:2、数字求和:3、求n的k次方:1、函数递归原创 2021-04-23 15:12:18 · 2574 阅读 · 10 评论 -
【C语言基础学习笔记】三、函数(1)
我走了很远的路,吃了很多的苦,才将这份博士学位论文送到你的面前。二十二在求学路,一路风雨泥泞,许多不容易。如梦一场…这一路,信念很简单,把书念下去,然后走出去,不枉活一世…理想不伟大,只愿年过半百,归来仍是少年,希望还有机会重新认识这个世界,不辜负这一生吃过的苦。最后如果还能做出点让别人生活更美好的事,那这辈子就赚了 。(—黄国平博士论文致谢内容)感言:一路走来不容易,饱经磨难,方成人杰。宝剑锋从磨砺出,梅花香自苦寒来。...原创 2021-04-22 16:34:41 · 3694 阅读 · 15 评论 -
【C语言基础学习笔记】二、分支与循环语句(1)
说明:我是一个初学c语言的小白,很多地方都不是很理解,所以就会自己动手敲代码进行相应的推理验证,希望可爱的你在看到这些步骤时,不要嫌弃我啰嗦。本篇文章内容相对较多,干货满满,有条件的小伙伴可以将文章中的练习和代码动手敲一敲。(吐槽环节:这作者咋这样呀,这么简单的还要敲代码验证,真菜呀!…我:好吧,我不装了,我摊牌了,我确实菜,真的菜,咋滴啦,还不允许初学者菜呀!)文章目录前言1、什么叫做语句?2、分支语句if的语法结构表达编程练习题1:编程练习题2:switch的语法结构表达3、循环语句while的语法原创 2021-04-14 10:43:43 · 1658 阅读 · 3 评论 -
【C语言基础学习笔记】一、初始C语言(总结篇)
说明:我是一个初学c语言的小白,很多地方都不是很理解,所以就会自己动手敲代码进行相应的推理验证,希望可爱的你在看到这些步骤时,不要嫌弃我啰嗦。(近期有很多小可爱给我私发消息,问我怎么学习编程,怎么学好c语言等问题,所以在这里我统一进行解答和回复,希望可以帮到大家。)本章内容:1、如何学好编程,编程学习方法分享(小白必看~)2、编程学习路径分享(C++/Java)3、初始C语言总结思维导图(复习+提高 专用)4、初始C语言知识补充(查漏补缺)5、编程练习题(巩固加深所学知识)文章目录一、原创 2021-04-11 18:04:36 · 7438 阅读 · 19 评论 -
C语言从入门到不放弃---编程环境的搭建到上手写代码
前言:很多小白在初学c语言的时候,大部分情况并不是因为c语言本身多难,多晦涩难懂而从入门到放弃。而是因为在初学c语言时,编程环境的搭建不会,创建工程不会,新建源文件不会,最后就会导致“上课听得懂,下课写不出”,“道理我都懂,做事我不会”。(ps:没有子弹,枪再好能有啥用,编程环境没搭建好,知识理解在透彻也没实践的机会!)而这些东西,大学老师们好像并不太“上心”,他们也许想“这些东西网络上随便一搜教程一大堆,课堂上将这些基础都算不上的内容也太浪费时间,一学期课时就那么多,不能在这里浪费时间!”。此时,嗷嗷待原创 2021-04-01 16:43:02 · 1477 阅读 · 3 评论 -
【007】素数判断基本方法及初级进阶方法
7.给出一个大于或等于3的正整数,判断它是不是一个素数。解题思路:首先我们要了解素数的概念,素数:也叫做 “质数”,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,也就是不能再整除其他数。判断素数的方法:这里采用试除法(将输入的数n与从2到n - 1的数取模,若没有模为零的情况,则代表n是素数)#include<stdio.h>int main(){ int n = 0; int i = 0; printf("请输入一个大于3的正整数:>>\n")原创 2021-03-27 23:47:30 · 491 阅读 · 0 评论 -
【006】电脑关机恶搞游戏---goto语句的使用
要求:设置电脑2分钟后自动关机,如果输入“我是猪”就取消关机,如果其他内容则提示玩家重新输入,直到输入正确为止。代码实现:#include<stdio.h>//设置电脑2分钟后自动关机,如果输入“我是猪”就取消关机int main(){ char input[20]; //shutdown -s -t 120 设置在120s后关机 system("shutdown -s -t 120"); again: printf("电脑将在两分钟后自动关机,如果输入“我是猪”将取消关机原创 2021-03-25 12:26:07 · 370 阅读 · 0 评论 -
【005】猜数字游戏---分支和循环语句的综合使用
要求:1)由电脑生成一个随机数,玩家键盘输入数字猜大小,猜错了提示玩家并重新输入,猜对了也提示玩家猜对了。2)可以选择多次玩游戏,玩到尽兴。代码实现:void menu(){ printf("***************************\n"); printf("**** 1.play 0.exit ****\n"); printf("***************************\n");}//RAND_MAXvoid game()//猜数字函数{ in原创 2021-03-24 14:16:15 · 388 阅读 · 0 评论 -
【004】求解前n项分数式的累和,正负变化,递增变化
求1−12+13−14...+199−11001-\frac{1}{2}+\frac{1}{3}-\frac{1}{4}...+\frac{1}{99}-\frac{1}{100}1−21+31−41...+991−1001解题思路:表面上看每一项都不一样,但是稍加分析,可以看出1=1/1整体的公式变为: 1/1- 1/2+1/3-1/4+⋯+1/99-1/100, 分子均为1,分母在从1递增到100,可以先简化原本的问题成:1+1/2+1/3+1/4+⋯+1/99+1/100要解决这个分原创 2021-03-23 11:59:10 · 706 阅读 · 1 评论 -
【003】判断闰年,统计闰年个数
3.判定2000-2500年中的每一年是否为闰年,并将结果输出。解题思路:首先我们要知道闰年的判断条件,能被4整除且不能被100整除的年份,或者是能被400整除的年份。第一种思路:步骤一:先将能被4整除的年份判断出来,不能被4整除的年份肯定不是闰年;步骤二:被4整除的年份中,将不能被100整除的年份判断出来,肯定为闰年;能被100整除的部分中可能有闰年,也可能没有闰年;步骤三:能被100整除的年份,若是能被400整除,则为闰年,若不能被400整除,则不为闰年。不妨设x为我们需要判断是否为闰年的年原创 2021-03-22 11:14:35 · 3356 阅读 · 2 评论 -
【002】学生信息系统,文本信息输入输出
2.有50个学生,要求输出成绩在80分以上的学生的学号和成绩。解题思路:首先将50个学生缩小为5个,从第一个开始判断,如果他的成绩大于80,就输出他的学号和成绩。这里我们需要用到自定义的结构体数据类型,学生包括姓名、性别、学号、成绩struct stu{char name[20];char sex[5];char id[9];int score;};初始化struct stu a = {“小明”,“男”,“20210301”,87};这里有5个学生,难道我们需要定义5个变量去存储吗?原创 2021-03-21 17:57:25 · 678 阅读 · 0 评论 -
【001】阶乘求解,前n项阶乘及其变式求解。
1.求1×2×3×4×5。解题思路:最基础的方式步骤一:先计算1×2的结果,1×2=2;步骤二:再将1×2的结果乘以下一个数字3,即2×3=6;步骤三:将上一步的结果乘以下一个数字4,即6×4=24;步骤四:将上一步的结果乘以下一个数字5,即24×5=120;通过这个思路,我们可以发现一些规律性的东西—将上一步计算的结果与下一个数字相乘得到新的结果,且下一个数字是一种递增1的关系。这样我们就可以利用一个循环结构来解决这个问题。不妨设置两个变量(p、q),一个变量p代表被乘数,一个变量q代表乘数,原创 2021-03-20 17:43:15 · 1053 阅读 · 0 评论