自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 求Sn=a+aa+......的前n项之和,打印菱形

求Sn=a+aa+…的前n项之和,其中a是一个数字例如:2+22+222+2222+22222#include<stdio.h>int power(int n, int k){if (k == 0)return 1;elsereturn n*power(n, k - 1);}int main(){int a,n;printf("请输入a+aa+aaa+aaaa+....的a以及前n项的n\n");scanf("%d%d", &a, &a

2020-12-17 23:23:18 359 2

原创 c语言输出水仙花数

输出水仙花数问题描述输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。问题分析根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。#include<stdio.h>int power(int n, int k){ if (k

2020-12-17 23:09:53 2882 1

原创 递归解决青蛙跳台阶问题(斐波那契数列)

题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个n级的台阶总共有多少种跳法?答题思路如果只有1级台阶,那只有一种跳法如果有2级台阶,那么就有2种跳法,一种是分2次跳。每次跳1级,另一种就是一次跳2级如果台阶级数大于2,设为n的话,这时我们把n级台阶时的跳法看成n的函数,记为,第一次跳的时候有2种不同的选择:一是第一次跳一级,此时跳法的数目等于后面剩下的n-1级台阶的跳法数目,即为,二是第一次跳二级,此时跳法的数目等于后面剩下的n-2级台阶的跳法数目,即为,因此n级台阶的不同跳

2020-12-15 15:11:54 642

原创 斐波那契数列-----兔子繁殖问题

斐波那契数列-----兔子繁殖问题斐波那契数列又因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后可以繁殖多少对兔子?我们不妨拿新出生的一对小兔子分析一下:第一个月小兔子没有繁殖能力,所以还是一对两个月后,生下一对小兔对数共有两对三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对------幼仔对数=前月成兔对数成兔对数=前月成兔对数+前月

2020-12-15 14:29:54 12608 1

原创 递归实现字符串逆序、n的阶乘、字符串长度strlen、整数的每一位之和、n的k次方

递归实现字符串逆序、n的阶乘、字符串长度strlen、整数的每一位之和、n的k次方递归,又译为递回,在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。也可以理解为自我复制的过程。了解了递归的概念,下面看一下用递归实现的训练题递归:递归实现字符串逆序#include<stdio.h>int reverse_string(char* p, int le

2020-12-14 00:52:25 2148 5

原创 冒泡排序(详解)

冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单基础的排序算法。其基本思路是,对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。冒泡排序算法的原理如下:假设一共有M个元素需要排序,比较相邻

2020-12-12 00:48:15 14727 1

原创 C语言实现三子棋(五子棋、扫雷)

C语言实现三子棋(五子棋、扫雷)这个三子棋小游戏是对近期学习C语言的一个总结练习(后续还会添加五子棋和扫雷呦,关注博主,我们一起做代码人):三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了。这里所用的编译器是vs2013首先看一下这个总体流程:菜单界面选择开始或者退出游戏。创建棋盘并初始化。打印棋盘。玩家落子(玩家输入行列坐标的方式来落子),“M”表示玩家落子。判定胜负关系(输,赢,

2020-12-11 23:57:49 3350 12

原创 调用自定义函数交换两个变量以及调用函数比较三个数的大小

调用自定义函数交换两个变量(体会传值与传地址)首先巩固一下定义上的区别:传值与传地址区别传值:是把是实参的值赋给形参,对形参的更改不会影响实参的值,仅将对象的值传递给目标对象,就相当于copy,系统为目标对象重新开辟一个完全相同的内存栈空间,然后把对象的值复制到栈中。传地址:传址是把函数外部创建变量的内存地址传递给函数参数,不是普通的如int,传递地址以后,系统在栈中开辟空间存放地址,实参和形参都指向同一个对象。这种传参方式可以让函数和函数外面的变量建立起真正的联系,也就是函数内部可以直接操作函

2020-12-04 23:56:44 2196 1

原创 自定义函数输出0--100以内的所有素数

自定义函数输出0–100以内的所有素数在我的博客前面有使用循环输出0–100以内的所有素数,但是在上一篇博客中我详细解释了传值和穿地址的区别,所以我对这篇代码进行了优化,这里使用了自定义函数,可以简单体会一下传地址。#include<stdio.h>int IsPrimeNum(int num){ for (int i = 2; i < num; ++i) { if (num%i == 0) { return 0;//是素数返回1,不是素数返回0 } }

2020-12-04 23:33:25 4483 2

原创 简单区别形参与实参,传值与传地址

简单区别形参与实参,传值、传地址与传引用函数的参数分为两种,分别是实际参数(实参)和形式参数(形参)实际参数:真实传给函数的参数,叫实参。实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,他们都必须是确定的值,以便把这些值传递给形参。形式参数:形式参数是指函数名括号中的变量,因为形式参数只有在函数被调用的过程中才实例化(分配内存单元),所以叫形式参数。形式参数当函数调用完成之后就自动销毁了。因此形式参数值在函数中有效。两者进行比较:形参出现在函数定义中,在整个函数

2020-12-03 00:24:22 2732

原创 控制密码只能输入三次

控制密码只能输入三次我们经常在登录一些网站的时候,发现我们如果连续的输错好几次密码,我们的帐号就被锁定起来了,那这个过程是如何实现的呢?下面我们就可以简单看一下这个程序主要就是解决以下3件事情:1.输入用户名密码2.认证成功并显示欢迎信息3.输错三次后锁定#include<stdio.h>#include<string.h>int main(){ int n = 2; while (n>=0) { char passwdArr[20] = {0};

2020-12-02 17:28:40 548

原创 逆置字符串数组

逆置字符串数组逆置字符串有很多种方法,在下面的代码中是交换对称的字符,已达到首尾交换的效果,这个代码主要就是去体会多个字符从两端向中间汇聚,然后相互交换,下面是代码实现:#include<stdio.h>#include<string.h>int main(){ char a[] = "hello world"; int sz = strlen(a); int left = 0; int right = sz - 1; while (left<right)

2020-12-02 17:24:20 484

原创 请输入我是猪不然我就关闭你的电脑

请输入我是猪不然我就关闭你的电脑在学习C语言的时候可能是枯燥无味,但是C语言也可以给我们带来一些小快乐哦!就比如说下面这个代码,你可以试着运行着玩玩,让自己体会到C语言的小快乐。????????????#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ system("shutdown -s -t 60"); printf("请输入我是猪不然我就关闭你的电脑\n");again

2020-12-02 17:01:01 2370 12

原创 一个循环搞定1-10的阶乘之和

一个循环搞定1-10的阶乘之和在前面我的博客中有使用嵌套循环输出1-10的阶乘之和,今天想要分享一下更简单的代码,使用一个循环就可以搞定1-10的阶乘之和。下面是我的代码:#include<stdio.h>int main(){ int i ; int sum = 0; int n = 1; for (i = 1; i <= 10; ++i) { n=n*i; sum += n; } printf("%d\n", sum); return 0;}在平常

2020-12-02 16:55:08 8094 1

原创 0-100的所有整数中出现了多少个数字9

0-100的所有整数中出现了多少个数字9在0–100中会有9出现的整数有:9、19、29、39、49、59、69、79、89、90、91、92、93、94、95、96、97、98、99,总共有20个9出现,对数简单分析,可以发现数字可以分为两类:与10取余得9:9、19、29、39、49、59、69、79、89、99.除10得9:90、91、92、93、94、95、96、97、98、99.所以我们只需要记录两个类型中的数字出现的次数即可。下面是代码实现#include<stdio.h&g

2020-12-01 21:16:24 19617 2

原创 折半查找(二分查找)

折半查找(二分查找)1、折半查找法,也称为二分查找法, 二分搜索, 是一种在有序数组中查找某一特定元素的搜索算法.搜索过程中从数组的中间元素开始, 如果中间元素正好是要查找的元素, 则搜索过程结束;如果某一特定元素大于或者小于中间元素, 则在数组大于或小雨元素的那一半中查找, 而且跟开始一样从中间元素开始比较. 若某1个步骤中数组为空, 则代表找不到. 这种搜索算法每一次比骄傲都使搜索范围缩小一半.这种方法对待查找的列表有两个要求必须采用顺序存储结构必须按关键字大小有序排列2、折半查找法分析从

2020-12-01 21:00:32 45516 6

原创 C语言实现九九乘法表

打印九九乘法表打印九九乘法表主要就是需要使用循环的嵌套使用,要打印九九乘法表,就要先明确每层循环需要控制什么。1×1 1×2 1×3 1×4 ……2×2 2×3 2×4 ……3×3 3×4 ………… (n×m)一层控制m,一层控制n就可以完成,小年看一下代码。#include<stdio.h>int main(){ int i = 1; int n = 1; for (i = 1; i

2020-12-01 00:00:12 1348

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除