c语言
呦,来喽
新手来喽
展开
-
strcpy,strstr,memcpy,memmove函数的模拟实现
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>int Strcmp(const char* str1, const char* str2){assert(str1 != NULL && str2 != NULL);//断言wh...原创 2020-03-12 14:57:17 · 112 阅读 · 0 评论 -
strlen,strcpy,strcat模拟实现
#include<stdio.h>#include<stdlib.h>int Strlen(const char* str){int size = 0;while (str != ‘\0’){size++;str++;}return size;}char Strcpy(char* str, const char* res){//参数合法性校验,...原创 2020-03-09 13:40:47 · 148 阅读 · 0 评论 -
数组与指针
#include<stdio.h>#include<stdlib.h>//struct Test//{// int Num;// char pcName;// short sDate;// char cha[2];// short sBa[4];//};//此结构体占内存为20个字节int main(){//问题1//&a得到是一个int...原创 2020-03-06 16:16:13 · 142 阅读 · 0 评论 -
strlen于sizeof相关问题
关于strlen于sizeof打印方面的问题:#include<stdio.h>#include<string.h>int main(){// int arr[10]={0};//%p是用来打印指针变量(打印的是一个数组)////指针+1地址跳过一个元素(取决于元素的sizeof)//printf("%p\n",arr);//arr隐式转为指针,指向首元素...原创 2020-03-05 18:19:03 · 113 阅读 · 0 评论 -
在屏幕上打印杨辉三角。 1 1 1 1 2 1 1 3 3 1
在屏幕上打印杨辉三角。11 11 2 11 3 3 1杨辉三角:是一张表,二维数组11 11 2 11 3 3 11 4 6 4 1当i为第一个和最后一个是直接为1第n行m列等于第n-1行m列与第n-1行m-1列之和了解规律之后,我们就可以通过循环将他打印出来#include<stdio.h>#include<stdlib.h>void p...原创 2020-02-22 14:11:30 · 419 阅读 · 0 评论 -
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个 嫌疑犯的一个。以下为4个嫌疑犯的供词。 A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话,1个人说
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。四重循环将四个人便利一遍,然后将四人的条件的进行判断#include<stdio.h>#include<stdlib.h>...原创 2020-02-22 13:50:14 · 150 阅读 · 0 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。
#include<stdio.h>#include<stdlib.h>int main(){int n = 20;int sum = n;int cover=0;for (int i = 0; i <= 20; i++){ n = i; sum = i; while (n > 0) { cover += n % 2; n /= 2...原创 2020-02-22 11:45:19 · 159 阅读 · 0 评论 -
扫雷
#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#define MAX_ROW 9#define MAX_COL 9#define MINE_COUNT 10int Menu(...原创 2020-02-21 17:18:58 · 122 阅读 · 0 评论 -
三子棋游戏(c语言)
具体思路:人机对战控制台程序,用户输入坐标来落子1.x,表示玩家的棋子。o表示电脑棋子,电脑2.先表示棋盘,二位数组3行3列char数组 空格表示未落子位置,初始情况下二维数组全为空格3.先打印空棋盘4.约定玩家先落子,提示玩家落子,检查游戏是否结束5.电脑落子,检查游戏是否结束回到2继续执行代码里有清楚的注释大家看代码#define _CRT_SECURE_NO_WARNIN...原创 2020-02-21 17:05:16 · 189 阅读 · 0 评论 -
冒牌排序
#include<stdio.h>#include <stdlib.h>//从0号元素出发,比较相邻俩个元素的大小,是否符合升序,如果不符合交换//数组排序//冒泡排序int bubblesort(int arr[], int size){//以每次找最小为例,//[0,bound)已排序区间[bound,size)待排序区间//每次找一个最小值放到前边,...原创 2020-02-21 13:56:52 · 175 阅读 · 0 评论 -
编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。使用递归,让其reverse_string不断逼近其字符串末尾然后在打印出来即可:#include<stdio.h>void Resver_String(char *str){if (*str == ‘\0’)...原创 2020-02-20 22:49:15 · 232 阅读 · 0 评论 -
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19以前写排序问题,不懂得可以翻翻看,这个问题跟以前写的差不多,先排序,然后相加就完事了#include<stdio.h>#include<stdlib.h>int DigitSum(int n){if (n ...原创 2020-02-20 15:00:31 · 187 阅读 · 0 评论 -
编写一个函数实现n^k,使用递归实现
编写一个函数实现n^k,使用递归实现:很简单;使用递归,n^k=n*n的k-1次方:使用递归另它不断逼近即可#include<stdio.h>#include<stdlib.h>int power(int n, int k){if (k == 0){return 1;}if (k == 1){return n;}return n * power...原创 2020-02-20 14:50:17 · 152 阅读 · 0 评论 -
递归与非递归分别实现求第n个斐波那契数。
递归分别实现求第n个斐波那契数斐波那契数列的规律:第n项等于第n-1与第n-2项之和知道该规律后,我们就可以求出它第n 项的值#include<stdio.h>#include<stdlib.h>//斐波那契数(生兔子问题)int Feb(int n){if (n == 1){return 1;}if (n == 2){return 1;}r...原创 2020-02-20 14:23:03 · 206 阅读 · 0 评论 -
递归和非递归分别实现求n的阶乘
递归和非递归分别实现求n的阶乘:n!=n*(n-1)然后我们可以根据这个来实现递归调用#include<stdio.h>#include<stdlib.h>//int Factor(int n)//{// int res = 1;// for (int i = 1; i <= n; i++)// {// res = i;// }// retu...原创 2020-02-20 14:00:56 · 156 阅读 · 0 评论 -
递归和非递归分别实现strlen
字符串是以\0结尾的的,所以要求字符串长度时,我们只需判断结尾是否为\0看代码#include<stdio.h>#include<stdlib.h>//非递归//int strlen(char str[])//{// int i = 0;// while (str[i] != 0)// {// i++;// }// return i;//}//...原创 2020-02-20 13:43:34 · 89 阅读 · 0 评论 -
递归方式实现打印一个整数的每一位
函数调用执行过程:函数调用会进入到函数体内部执行,遇到return语句,函数结束回到函数调用位置继续执行递归:函数自己调用自己:一定要明白回到函数滴哦用位置继续执行#include<stdio.h>#include<stdlib.h>void PrintNum(unsigned int num){if (num > 9){PrintNum(num ...原创 2020-02-20 12:45:22 · 96 阅读 · 0 评论 -
创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
实现三个函数:初始化init(),清空数组empty()数组元素的逆置reverse();三个函数都统过循环完成,初始化通过自加更新给每一个数组元素赋值,清空与逆置一样通过自加更新来实现数组的清零的与逆置,在逆置中需创建一个临时变量来储存一下数据,不多说看代码:#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include...原创 2020-02-19 17:16:28 · 114 阅读 · 0 评论 -
实现一个函数,判断一个数是不是素数。
素数概念:除了1和自己本身没有其他的因数,这样,我们可通过for循坏来实现从2到他自身的累加在用判断语句来实现#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){int n=0;int i ;printf(“请您输入一个数:”);scanf("%d"...原创 2020-02-19 13:46:52 · 219 阅读 · 0 评论 -
实现一个函数判断year是不是润年。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){int i = 0;scanf("%d", &i);if (i % 4 == 0 && i % 100 || i % 400 == 0){printf("%d为瑞年", i);}...原创 2020-02-19 13:33:21 · 114 阅读 · 0 评论 -
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。
输出一个乘法表。用俩重for循环来实现代码如下#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void print(){int i, j, k;printf(“请您输入你要输入的数:”);scanf("%d", &k);for (i = 1; i <= k...原创 2020-02-19 13:18:13 · 170 阅读 · 0 评论 -
编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<Windows.h>int main3(){//输入一个密码for(int i=0;i<3;i++){char password[1024]...原创 2020-02-18 14:07:33 · 273 阅读 · 0 评论 -
写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<Windows.h>int main4(){//二分查找//给定一个数组,查找某个数字是否在数组中存在int arr[] = {1,2,3,4,5,...原创 2020-02-18 14:06:40 · 175 阅读 · 0 评论 -
猜数字游戏。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void Game() {int num = 0;//猜数字游戏//1.系统随机生成一个数字,随机数1-100int toGuess = rand() % 100 + 1;//2.让用户输入一个整数while (1){pr...原创 2020-02-18 14:05:10 · 135 阅读 · 0 评论 -
git与github安装
1.在github网页注册属于自己的账号2.注册之后登录创建自己的库点击添加自己的一个仓库创建之后我们会得到一个关于仓库的网址将网址复制之后我们安装git,关于Git有俩个软件安装过程我们只需一路NEXT我们先安装上方的软件在安装下方软件3.关于git的使用1.安装好软件之后我们右击菜单可以看到关于git 的一些操作我们首先需要注意的是Git clone我们在任意...原创 2020-02-15 13:59:13 · 194 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字, 例如:2+22+222+2222+22222
sn=a+aa+aaa+aaaa+aaaaa将其看为sn=s1+s2+s3+s4+s5S1=aS2=S110+aS3=S210+aS4=S3*10+a…看代码#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){int i, j;scanf("%d...原创 2020-02-14 20:30:21 · 124 阅读 · 0 评论 -
输出0~999之间的水仙数
求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。/*在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),是指一N位数,其各个数之N次方和等于该数。例如153、370、371及407就是三...原创 2020-02-14 20:17:04 · 164 阅读 · 0 评论 -
在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** *********
在屏幕上输出以下图案:*通过for循环来实现写俩段for循环第一段控制前7行,第二段控制后5行代码如下:#include<stdio.h>int main(){int i, j;for (i = 1; i < 8; i++){for (j = 0; j < (2 * i - 1); j++){printf("");}...原创 2020-02-14 19:35:46 · 686 阅读 · 0 评论 -
编写程序数一下 1到 100 的所有整数中出现多少次数字9。
0~100中出现9的次数有俩种情况1.%1092./109即通过for循环来查找#include<stdio.h>int main(){int i = 0;int count = 0;for (i = 0; i < 100; i++){if (i % 10 == 9 || i / 10 == 9)count++;}printf("%d", count ...原创 2020-02-14 15:16:45 · 135 阅读 · 0 评论 -
将数组A中的内容和数组B中的内容进行交换(数组一样大)
通过创建临时变量来交换数组的值#include<stdio.h>#include<stdlib.h>void swap(int* x, int* y){int tmp = *x; //创建临时变量*x = *y;*y = tmp;}int main(){int a[] = { 1,2,3,4,5 };int b[] = { ...原创 2020-02-12 14:03:16 · 156 阅读 · 1 评论 -
C语言学习笔记(demo8-求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字, 例如:2+22+222+2222+22222 )
不难看出在2+22+222+2222+22222中后一项等于前一项乘10+2.所以定义一个整形来控制次数,一个来控制底数然后定义一个变量做每次求和,比如22=2*10+2,这算一次在定义一个统计量将每次求和加到一起。#include<stdio.h>int main() { int i; int n, m;//n做底数,m做次数 scanf("...原创 2019-11-13 22:31:02 · 220 阅读 · 0 评论 -
C语言学习笔记(demo7-求俩数的最大公约数)
定义俩整形变量返回其中较小的,用for循环寻找最大公约数用? :寻找俩变量中较小的#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main() { int a, b; scanf("%d%d", &a, &b); int max; int small = a < b...原创 2019-11-13 22:02:25 · 80 阅读 · 0 评论 -
c语言学习笔记(demo5-输入10个数,输出他们的最大值)
用for语句进行循环,用if语句进行判断大小#include<stdio.h>int main() {int max=0x80000000;int tmp=0;int i;for (i = 0;i < 10;i++) {scanf_s("%d", &tmp);if (tmp > max) {max = tmp;}}printf(“MAX=%d...原创 2019-11-13 21:27:26 · 472 阅读 · 0 评论 -
c语言学习笔记(demo4-俩数数值交换)
关于俩数数值交换,我们可以编写一个交换函数,最后在main函数中进行调用交换函数中含有判断俩数数值是否相等,如果相等,直接打印,如果不相等数值交换,在进行打印(创建一个临时变量,用来存储数据)#include<stdio.h>#include<stdlib.h>#include "demo4.h"int change(int x,int y) { i...原创 2019-11-05 14:43:32 · 175 阅读 · 0 评论