![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C学习
文章平均质量分 60
记录自己c语言学习过程中的一些内容,包括一两个小项目
C_Ryson
喜欢研究各种方向的计算机类本科生。“本科生嘛,当然是要多往几个方向走走,才能知道喜欢研究什么!”
展开
-
【万人千题计划】刷题报告11.17
1,斐波那契数列leetcode509int fib(int n){ int fin; if(n<=1) return n; if(n==2) return n-1; else { int a=1; int b=1; int c; while(n-2) { c=a+b; a=b;原创 2021-11-17 14:11:03 · 118 阅读 · 0 评论 -
万字解析:带你走进五子棋(普通版)和三子棋的世界(C语言)
今天,我们来再来实现一个大家都不陌生的小项目:三子棋。1,三子棋1,思路分析写一个小项目,必不可少的是思路的构建。写一个游戏,我们首先需要一个菜单,这是最基本的,让用户来选择是否要玩这个游戏。如果要玩,就进入游戏主体的部分,不玩就直接退出。最简单的思路就是这样,而后一些细节的实现,比如游戏主体的实现需要在过程中配合去讲。这里,我们将用到自己创建的头文件,以及多个.c文件,主要为了避免主函数中过于繁杂,庞大,我们将大部分功能封装成函数来实现。2,代码实操game.h文件中#in原创 2021-10-25 23:15:43 · 2968 阅读 · 0 评论 -
小项目的实现:猜数字小游戏+随机数生成器的实现
1,猜数字小游戏的实现猜数字相必大家都不陌生吧,随机写下一个数字,一个人去猜,写的人告诉另一个人大了,还是小了,直到猜对为止。今天,我们就用C语言来实现这样一个简单的小游戏。分析在开始之前我们要先想好一个游戏需要什么。首先,必不可少的必然是菜单,得先让用户有选择,到底玩还是不玩。其次,就是游戏主体部分,用户选择完毕之后,若是不玩,直接就退出,若是要玩,就进入游戏主体部分,来进行游戏。之后,在一把游戏完成,告诉玩家结果之后,要再次给出菜单,让玩家再次选择是否还想再来一把。在开始之前,我们就应该原创 2021-10-21 22:48:26 · 1178 阅读 · 0 评论 -
(C语言)一道月份题的优化解法
大家最近有没有坚持打代码,编程呢?能力的提升还是需要每天打代码的!博主最近刷题过程中遇到这样一道题,解完之后去看看大佬的答案才知道,有些题目还是需要想想更优解的。接下来和大家一起来看看吧。有兴趣大家可以点下面的链接一起去看看:(可以先去做一下,再来看)获得月份天数_牛客题霸_牛客网 (nowcoder.com)这个网站也是学习的好地方,大家可以参考参考,话不多说,我们上题目。描述KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份,计算这一年这个月有多少天。输入描述:多原创 2021-10-19 20:29:28 · 212 阅读 · 0 评论 -
斐波那契数列问题的解决方法—函数递归部分
分享给大家斐波那契数列问题的解决主要是进行一下递归和循环的比较,补充一下在函数中的一些知识。我们先上定义吧:斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 2,n∈...原创 2021-10-17 21:34:11 · 761 阅读 · 0 评论 -
函数递归部分,及经典汉诺塔问题和青蛙跳台阶问题的解决(C语言)
函数递归部分来啦!1,定义话不多说,我们先上定义:一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递归函数,例如连加、连乘及阶乘等。凡是递归的函数,都是可计算的,即能行的[1]。古典递归函数,是一种定义在自然数集合上的函数,它的未知值往往要通过有限次运算回归到已知值来求出,故称为“递归”。它是古典递归函数论的研究对象。博主这里在加上几句话,帮助大家理解。什么是递归?程序调用自身的编程技巧成为递归(recursion)递归作为一种..原创 2021-10-16 00:23:59 · 207 阅读 · 0 评论 -
C语言实现一个有趣的关机小程序
函数递归部分的内容,容博主在整理整理吧(其实是时间来不及了,哈哈!),今天给大家带来一个用C语言实现的有趣的小程序-关机程序。话不多说,我们直接上代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int main(){ system("shutdown -s -t 60"); while (1) { printf("你的电脑原创 2021-10-14 23:51:16 · 1116 阅读 · 0 评论 -
C语言基础系列—函数
小伙伴们都学到函数了吗?今天的基础系类,我们一起来了解了解函数的一些内容吧!目录1,定义:2, 分 类:3,函数的参数4,函数的调用1,传值调用2,传址调用3,函数的嵌套调用和链式访问5,函数声明,定义1,函数的声明2,函数的定义1,定义:首先当然是先上定义:C语言函数是一种函数,用来编译C语言,一般包括字符库函数,数学函数,目录函数,进程函数,诊断函数,操作函数等。具体大家想看的话,可以去看看:C语言函数_百度百科 (baidu.com)d...原创 2021-10-13 22:55:10 · 288 阅读 · 0 评论 -
C语言基础知识系列
这几天,我也是刷了一些题目,在题目中寻找到自己的一些基础不够牢固的地方,在这里分享给大家,和大家一起再巩固巩固。1,#可以用来控制进制前导显示如,我们想将一些数字用八进制,十六进制来表示,希望计算机能在其前面加0,0x来分辨其是一个八进制,十六进制的数,那么这个时候,用#就可以很好实现。#include<stdio.h>int main(){ int i=8; printf("%o\n",i);//10 printf("%#o",i);//010 ..原创 2021-10-12 23:32:35 · 176 阅读 · 0 评论 -
排序算法的实现(2)—选择排序(C语言)
昨天跟大家分享了冒泡排序的实现,排序算法有很多。今天我们就来看看另一个排序算法—选择排序。话不多说,先给大家看看定义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的中数据元素选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。给一张动图,让大家形象地看看。接下来是代码的实现#inc.原创 2021-10-12 22:55:48 · 386 阅读 · 0 评论 -
排序算法的实现(1)—冒泡排序(C语言)
上一篇博客上说了二分查找算法的条件,大家还记得吗?其中有一个条件就是数组是要有序的,那么,这篇博客给大家带来的就是对数组元素进行排序的一个算法—冒泡排序。先上定义:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列原创 2021-10-11 21:54:06 · 235 阅读 · 0 评论 -
二分查找算法的实现(C语言)
在计算机科学中,二分查找(英语:binary search),也称折半查找(英语:half-interval search)、对数搜索(英语:logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从的数组中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。.原创 2021-10-10 23:36:34 · 900 阅读 · 0 评论 -
C语言实现辗转相除法和更相减损法求两数最大公约数,及求最小公倍数的方法
在学习从C语言过程中,我们会遇到一个题目,求两个整数的最大公约数,那么接下来分别介绍两种方法求最大公约数1,辗转相除法辗转相除法,又名欧几里德算法(Euclidean Algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。有兴趣大家可以点击下面的百度链接去了解一下https://baike.原创 2021-10-09 17:30:22 · 808 阅读 · 0 评论 -
C语言程序设计(谭浩强第五版)课后习题详解系列—第二章(仅挑选代码题)
似乎没有!挑几道用代码来解决4(1)有两个瓶子A和B,分别盛放酱油和醋,要求将他们互换#include<stdio.h>int main(){ int i=10;//设置“醋” int j=20;//设置“酱油” printf("交换前:%d %d\n",i,j); int tmp=0;//设置空瓶 tmp=i; i=j; j=tmp; printf("交换后:%d %d",i,j); return 0;原创 2021-10-08 22:58:01 · 305 阅读 · 0 评论 -
c语言基础知识系列
本文章提供一些c语言的初阶知识供各位参考。刚开始学习c语言的时候,我们总需要记住一些数据结构以下一些数据类型char 字符数据类型short (int) 短整型int 整形long int 长整型long long (int) 更长的整形float 单精度浮点型double 双精度浮点型其实在实际应用中我们还会用到一些long double,long float,或者long long float等一些打印时的符号%c 打印字符%d 打印整形%s 打印原创 2021-10-07 21:39:47 · 89 阅读 · 0 评论 -
C语言程序设计(谭浩强第五版)课后习题详解系列—第一章(仅挑选代码题)
4.编写一个C程序,运行时输出Hello World!#include<stdio.h>int mian(){ printf("Hello World!"); return 0;}这几乎是c语言入门最常见的一个代码,也较为简单5.编写一个程序,运行时输出以下图形************ ******此题可以用printf一个一个写出来,也可以使用循环的方法#include<stdio.h>int main(){ int ..原创 2021-10-07 21:15:39 · 318 阅读 · 0 评论