自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言将字符串中的空格替换成%20

#include <stdio.h>#include <windows.h>void Replacement(char *a, int x){ int spacenum=0; for (int i = 0; i < x; i++) { if (a[i] == ' ') { spacenum++; } } int newnum = x + spacenum * 2; int newspace = newnum; for (int i =x;

2020-08-17 22:51:07 452

原创 C语言模拟strlen实现

#include <stdio.h>#include <windows.h>#include <assert.h>int MY_strlen(const char *str){ assert(str); int len = 0; while (*str++) { len++; } return len;}int main(){ const char *str = "abcdefg"; int ret = MY_strlen(str);

2020-07-20 18:20:04 130

原创 C语言模拟实现strcpy函数

#include <stdio.h>#include <windows.h>#include <assert.h>char* My_strcpy(const char *str1, char *str2){ char* dest = str2; assert(str1 != NULL); assert(str2 != NULL); while (*str2++ = *str1++) { ; } return dest;}int main()

2020-07-19 21:39:12 213 1

原创 C语言模拟strcmp实现

#include <stdio.h>#include <windows.h>#include <assert.h>char My_strcmp(const char *str1, const char *str2){ assert(str1); assert(str2); while (*str1 == *str2) { if (*str1 == '\n') { return 0; } str1++; str2++; } re

2020-07-19 21:02:36 177

原创 C语言strcat的模拟实现

#include <stdio.h>#include <windows.h>#include <assert.h>char *my_strcat(char* str1, const char* str2){ assert(str1 != NULL); assert(str2 != NULL); char* ret = str1; while (*str1) { str1++; } while (*str2) { *str1++ = *str

2020-07-06 16:15:23 143

原创 C语言判断杨氏矩阵中是否存在输入的数

杨氏矩阵题目内容 :有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。杨氏矩阵是行上从左到右依次增大,列上从上到小依次增大。该方法从右上角第一个开始查找,一次可以排除一行或者一列,所以大大提高效率。#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int Find(int a[][5], int row, int col,

2020-06-23 13:20:08 100

原创 C语言三种方法判断一个字符串是否为另外一个字符串旋转之后的字符串。(直接,划分,双倍串)

方法一.直接写出代码旋转逻辑方法二:利用划分法将字符串划分成三分,[0,num-1],[num,len-1],[0,len-1];分别将其三个划分逆置,便会得到想要旋转的字符串方法三:利用构建双倍串的方法,再利用系统函数来判断双倍串中是否有第二个字符串(strcpy,strstr,strcat)详细逻辑请看代码哦,亲!#include <stdio.h>#include <assert.h>#include <stdlib.h>#include <wi

2020-06-23 13:05:15 230

原创 模拟qsort回调函数实现

利用冒泡法来模拟qsort函数的实现,其中以字节为单位操作,例如交换两数位置#include <stdio.h>#include <stdlib.h>#include <windows.h>#include <assert.h>void swap(char* x, char* y, int size)//以字节为单位交换{ for (int i = 0; i < size; i++) { *x ^= *y; *y ^= *x;

2020-06-17 13:38:32 83

原创 利用qsort函数对任意序列排序(回调函数)

基于冒泡思想,写一个任意类型的排序 1. 传参上至少要做的,与类型无关!排序的本质,是在进行大小比较,将数据放在特定的位置排序 sort(void list, int num) int a[10]; sort(a, 10);我们的要求不需要sort进行类型判定(void,做不到),你只要更给我谁大谁小即可,回调sort(void list, int num, int(comp)(void,void))如果类型不明确,也就无法比较大小,我们的需求,是写出来一个与类型无关的sort,sort是需要知道

2020-06-17 12:52:29 178

原创 猜名次C语言

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果:A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#include <stdio.h>#include <windows.h>void Game(){ int a = 1;//利用5个for循环把所有的可能列出来 for (; a <= 5; a++){ int b =

2020-05-27 18:15:40 456

原创 猜凶手C语言

线索:日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。#include <stdio.h>#include <windows.h>void Findkiller(){ char killer = 'A';//凶手初始化为字符A; for (; killer <= 'D';

2020-05-26 21:03:02 177

原创 杨辉三角C语言

#include <stdio.h>#include <windows.h>void showyang(){ int a[10][10]; int i = 0; int j = 0; for (; i < 10; i++) { for (j = 0; j <= i; j++) { a[i][j] = 1; } } for (i = 2; i < 10; i++) { for (j = 1; j <i; j++)

2020-05-26 20:44:00 176

原创 C语言调整奇数偶数顺序

调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#include <stdio.h>#include <windows.h>void Switch(int *arr, int num)//调整数组里元素奇数都位与偶数前{ int *start = arr; int *end = arr + num - 1; while (start < end)

2020-05-20 21:24:00 441

原创 模拟实现库函数strcpyC语言

#include <stdio.h>#include <windows.h>#include <assert.h>char *Mystrcpy(const char *stc,char *str){ assert(stc);//判断指针不为空 assert(str);//判断指针不为空 char *ret = str; while (*stc != '\0')//到\0处停下 { *str = *stc; str++, stc++; } *s

2020-05-20 21:22:40 147

原创 喝汽水问题C语言

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。#include <stdio.h>#include <windows.h>#pragma warning (disable:4996)int Sodawater(int money){ int total = money; int empty = money; while (empty >= 2) { total += empty/2; empty = empty /

2020-05-18 20:57:02 142

原创 C语言打印菱形

要打印图案如下:要想打印这样的菱形,我们可以把它对半分,先打印上半部分,再打印下半部分,而如何打印,就相当于找规律的题。我是重星星数最多的行对半分的,我们从图中可以看出每行都是先打印空格,再打印星星。在代码中我将最多星星行数定义为num,即为7,我们仔细观察不难发现行数和每行星星和空格呈线性相关。就先拿上半部分来说,将j当成控制每行输出的空格数,将k当成控制每行输出的星星数,而i为每行数,可以发现j=num-1;k=2i-1。而下半部分可以看出它和前6行对称,因此要将初始化为i=num-1,即i初始化为

2020-05-13 16:21:39 383

原创 C语言求出0~100000之间的所有“水仙花数”并输出

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=13+53+3^3,则153是一个“水仙花数”。代码如下,代码里有详细注释。#include <stdio.h>#include <windows.h>#include <math.h>#define M 100000//对其宏定义可以将其修改成任意数int main(){ int i = 1; printf("0到%d的水仙花数为:\n",M); for (; i &lt

2020-05-13 15:30:30 866

原创 C语言求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字

#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int Sn(int a, int n){ int sn = a; int sum = 0; for (int i = 0; i < n; i++) { if (i == n - 1) { printf("%d", sn); } else { printf("%d+", sn); } sum +

2020-05-12 19:29:34 265

原创 C语言指针字符串逆序

#include <stdio.h>#include <windows.h>void reverse(char *a){ if (NULL == a) { return; } char *start = a; char *end = a + strlen(a) - 1;//利用strlen函数将数组a的元素个数算出,减一是减的'\n' while (start < end) { char temp = *start; *start = *end;

2020-05-12 18:03:27 584

原创 C语言统计一个数二进制中1的个数

这里还是要用到位操作符的知识,我在前边还写了关于运用位操作符的小程序,第一篇统计两数二进制数中不同的位数里有关于位操作符的详解,有兴趣可以去看看#include <stdio.h>#include <windows.h>#pragma warning (disable:4996)int Parate(int x){ int i = 0; int count =...

2020-04-26 13:03:28 287

原创 C语言打印整数二进制的奇数位和偶数位

这里还是要到前一个博客中讲解的位操作符知识,有兴趣的可以去看看要实现该代码主要是要用到(x>>i)&1的知识,x表示是输入的数,i表循环的变量,虽然是32位,但是是从0到31,这里可以带到代码中去看。#include <stdio.h>#include <windows.h>#pragma warning (disable:4996)void ...

2020-04-26 12:32:08 344

原创 C语言运用^和&来统计两数二进制中不同的位数

既然我都讲到&和^,那我便随便把位操作符顺便讲了。位操作符以下三个操作符都是在二进制上操作的,我都是以32位为例,整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。二的二进制:0000 0000 0000 0000 0000 0000 0000 0010三的二进制:0000 0000 0000 0000 00...

2020-04-25 16:57:31 267

原创 C语言扫雷详解

下面我还是会用C语言代码的形式来编写一个扫雷程序,其实想通原理,扫雷用C语言实现其实不难。在下面我还是会像上篇博客C语言三子棋一般采用多文件格式。首先,要实现扫雷功能,要初始化数组,而多要想显示一个位置周围有多少雷,就得多定义,相当于显示1010的数组,就得定义1212的数组,因为周边会有反馈不了的情况,图有点丑,本人不会画图,能表达意思就行。这样不管是哪个位置,它周围都会反馈8个位置的是...

2020-04-24 15:48:59 933

原创 C语言三子棋

下面我会用C语言代码编写一个三子棋小程序,并会以多文件的格式呈现,目的是代码更简明扼要。1.创立chess.h的头文件在其中会包含系统的头文件,宏定义以及函数的声明;格式如下#ifndef<标识>#define<标识>…#endifchess.h文件代码如下在这里插入代码片...

2020-04-21 17:20:00 103

原创 C语言两大小相同的数组彼此交换元素位置后输出

#include <stdio.h>#include <windows.h>#define SIZE 10void Exchange(int *a, int *b, int j, int k){int i = 0;while (i < 10){int tem = a[i];a[i] = b[i];b[i] = tem;i++;}printf(...

2020-04-20 17:50:39 166

原创 C语言冒泡法排序

#include <stdio.h>#include <windows.h>void BubbleSort(int *a, int k){for (int i = 0; i < k - 1; i++){for (int j = 0; j < k - 1 - i; j++){if (a[j] > a[j + 1]){int tem = a...

2020-04-20 12:38:21 90

原创 C语言递归输出一个的组成数字

#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int main(){int a = 0;printf(“请输入一个整数”);scanf("%d", &a);showint(a);system(“pause”);return 0;}int showint(i...

2020-04-17 12:24:09 243

原创 C语言求一个数的阶乘

//递归求一个数的阶乘#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int main(){int a = 0;printf(“请输入一个整数”);scanf("%d", &a);int total=fic(a);printf("%d", total);sys...

2020-04-17 12:23:02 929

原创 模拟strlen函数求字符串长度C语言

//递归strlen模拟#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int main(){char p = “abcdef”;int len = Strlen§;printf("%d", len);system(“pause”);return 0;}int St...

2020-04-17 12:21:36 150

原创 C语言求输入一个非负数,返回它组成数字之和

#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int main(){int a = 0;printf(“请输入一个整数”);scanf("%d", &a);int x=showint(a);printf("%d\n", x);system(“pause”);...

2020-04-17 12:20:36 532

原创 递归实现n的k次方C语言

#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int main(){int a = 0;int b = 0;printf(“请输入一个整数和求它的k次”);scanf("%d%d", &a,&b);int x=showint(a,b);printf("...

2020-04-17 12:18:47 272

原创 C语言求斐波那契数(递归和非递归)

//递归求第n个斐波那契数#include <stdio.h>#include <windows.h>#pragma warning(disable:4996)int main(){int a = 0;printf(“请输入一个数:”);scanf("%d", &a);int t = fib(a);printf(“第n个斐波那契数的值为:%d”,...

2020-04-17 12:17:42 161

原创 二分法查找某数

#include “stdio.h”#include “windows.h”#pragma warning(disable:4996)int main(){int i = 0;int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };int num = sizeof(a) / sizeof(a[0]);printf(“请输入要查找的一个数:”);sc...

2020-04-12 13:56:44 224

原创 C语言打印九九乘法表

#include “stdio.h”#include “windows.h”#pragma warning(disable:4996)#define SIZE 9int main(){int i = 1;printf(“九九乘法表如下:\n”);printf("\n");for (int j = 1; j <= SIZE; j++)//调整行显示{for (int k ...

2020-04-12 12:37:02 295

原创 C语言猜数字游戏

#include <stdio.h>#include <stdlib.h>#include <time.h>#include <math.h>#include <windows.h>#pragma warning(disable:4996)//编写代码实现,模拟用户登录情景,并且只能登录三次。//(只允许输入三次密码,如果密...

2020-04-12 09:58:43 98

原创 C语言遍历10个数求出其中最大的值

#include “stdio.h”#include “windows.h”#pragma warning(disable:4996)#define SIZE 10int main(){int a[SIZE] = {0};int i = 0;printf(“请输入10个数:”);for (; i < 10; i++){scanf("%d",&a[i]);}i...

2020-04-11 20:40:36 334

原创 C语言计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果

#include <stdio.h>#include <windows.h>int main(){int i = 1;double sum = 0;double tem = 0;for (; i <= 100; i++){tem = 1.0 / i*((i % 2) ? 1 : -1);sum += tem;}printf(“1/1-1/2+1...

2020-04-11 19:54:45 344

原创 C语言判断1到100中有多少个9

#include <stdio.h>#include <windows.h>int main(){int a=total_nice();printf(“1到100中9的个数为%d\n”, a);system(“pause”);return 0;}int total_nice(){int total = 0;int i = 0;for (; i &l...

2020-04-11 19:52:50 468

原创 求100到200之间的素数C语言

首先,我们要搞清楚什么是素数,素数又叫质数,当一个只能被1和其本身整除的数就叫素数。#include “stdio.h”#include “windows.h”#pragma warning (disable:4996)int main(){int year1 = 1000;int year2 = 2000;int year = 0;int i = 0;printf(“1000...

2020-04-07 18:13:16 640 1

原创 求1000到2000年之间的闰年

要写该代码,必须弄明白闰年如何判定。闰年是能被4整除且不能被100整除,或者能被400整除的年份。这样我们便能编写求闰年的代码了。#include “stdio.h”#include “windows.h”#pragma warning (disable:4996)int main(){int year1 = 1000;int year2 = 2000;int year = 0;...

2020-04-07 17:37:08 163

空空如也

空空如也

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

TA关注的人

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