![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
玩世か不恭
做你没做过的事情叫做成长
做你不愿做的事情叫做改变
做你不敢做的事情叫做改变
展开
-
C语言实现:模拟实现strcpy 模拟实现strcat
模拟实现strcpy#include<stdio.h>#include<Windows.h>#include<assert.h>char *Mystrcpy(char *str1, const char *str2)//str2的值不能被更改所以用const修饰{ char *ret = str1; assert(str1 != NULL); a...原创 2019-11-29 23:00:48 · 307 阅读 · 0 评论 -
C语言实现:一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个只出现一次的数字,编程实现。2.喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水, 给20元,可以多少汽水。
1.一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。找出这两个只出现一次的数字,编程实现。ines (28 sloc) 539 Bytes//一个数组中只有两个数字是出现一次, 其他所有数字都出现了两次。 找出这两个数字,编程实现。#define _CRT_SECURE_NO_WARNINGS 1#include <Windows.h>#include <...原创 2019-11-29 22:55:54 · 337 阅读 · 0 评论 -
C语言初阶总结
C语言初阶总结首先计算机只认识二进制数据类型在32位操作系统的前提下 char 字符类型(1个字节) short 短整型(2个字节) int 整形(4个字节) long 长整型(4个字节) long long 更长整型...原创 2019-11-20 20:26:50 · 1700 阅读 · 1 评论 -
c语言实现:判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如:给定s1 =AABCD和s2 = BCDAA,返回1 给定s1=abcd和s2=ACBD,返回0.(两种方法)
判断一个字符串是否为另外一个字符串旋转之后的字符串。例如:给定s1 =AABCD和s2 = BCDAA,返回1给定s1=abcd和s2=ACBD,返回0. 方法1:采用左旋的方法?#include<stdio.h>#include<string.h>#include<Windows.h>#pragma warning(disable:49...原创 2019-11-20 13:24:53 · 1591 阅读 · 0 评论 -
C语言实现:实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB(两种方法)
实现一个函数,可以左旋字符串中的k个字符。ABCD左旋一个字符得到BCDAABCD左旋两个字符得到CDAB 第一种方法:采用数组解决#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)void turn(char s[], int n){ int len ...原创 2019-11-20 13:12:08 · 386 阅读 · 0 评论 -
蓝桥杯————入门训练
入门训练4道题BEGIN-4 Fibonacci数列/*问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入格式 输入包含一个整数n。输出格式 输出一行,包含一个整数,表示Fn除以10007的余数。 说明:在本题中,答案是要求Fn除以10007的余数,...原创 2019-11-18 21:21:32 · 350 阅读 · 0 评论 -
C语言实现:有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的. 在这样的数组中查找一个数字是否存在。 时间复杂度小于O(N); 数组
杨氏矩阵有一个二维数组.数组的每行从左到右是递增的,每列从上到下是递增的.在这样的数组中查找一个数字是否存在。时间复杂度小于O(N);数组:1 2 32 3 43 4 51 3 42 4 54 5 61 2 34 5 67 8 9#include<stdio.h>#include<Windows.h>#pragma warning(disa...原创 2019-11-17 09:18:04 · 401 阅读 · 0 评论 -
C语言实现:调整数组使奇数全部都位于偶数前面。
调整数组使奇数全部都位于偶数前面。题目:输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。#include<stdio.h>#include<Windows.h>void exchange(int *a,int len){ int *left = a; ...原创 2019-11-17 09:13:42 · 192 阅读 · 0 评论 -
C语言实现:有一个字符数组的内容为:"student a am i", 请你将数组的内容改为"i am a student".
有一个字符数组的内容为:“student a am i”请你将数组的内容改为"i am a student".要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。student a am ii ma a tnedutsi am a student注释在代码中,一看就会,我觉得写前面,你们也不看。反正我看别人的直接看代码#include<stdio.h...原创 2019-11-13 20:06:48 · 263 阅读 · 0 评论 -
C语言实现:.编程实现: 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算
.编程实现:一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。请找出这个数字。(使用位运算)#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int main(){ int arr[] = { 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, ...原创 2019-11-13 20:00:26 · 307 阅读 · 0 评论 -
C语言实现:不使用(a+b)/2这种方式,求两个数的平均值。
不使用(a+b)/2这种方式,求两个数的平均值。注意:这道题我感觉出的不是那么到位,因为如果你用位运算,类型是浮点数,我的编译器会报错。所以我只能用double型,你不知道用户会输入整数还是浮点数,所以double好一点。<#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)...原创 2019-11-13 19:58:17 · 253 阅读 · 0 评论 -
C语言实现:编写函数: unsigned int reverse_bit(unsigned int value); 这个函数的返回值是value的二进制位模式从左到右翻转后的值。
编写函数:unsigned int reverse_bit(unsigned int value);这个函数的返回值是value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回: 2...原创 2019-11-13 19:50:07 · 264 阅读 · 0 评论 -
c语言实现1.给定两个整形变量的值,将两个值的内容进行交换。2.不允许创建临时变量,交换两个数的内容(附加题)3.求10个整数中最大值。4.将三个数按从大到小输出。5.求两个数的最大公约数。
day021.给定两个整形变量的值,将两个值的内容进行交换。#include<stdio.h>#include<stdlib.h>int main(){ int a = 10; int b = 20; int c = 0; c = a; a = b; b = c; printf("a=%d b=%d", a, b); getchar(); ret...原创 2019-09-28 11:27:04 · 213 阅读 · 0 评论 -
C语言实现: 1. 打印100~200之间的素数 2. 输出乘法口诀表 3. 判断1000年---2000年之间的闰年
打印100~200之间的素数#include<stdio.h>#include<stdlib.h>int main(){ int sum = 0; for (int i = 100; i <= 200; i++) { int j = 0; for ( j = 2; j <= i; j++) { if (i%j == 0) ...原创 2019-09-26 15:09:16 · 223 阅读 · 0 评论 -
C语言实现:1.将数组A中的内容和数组B中的内容进行交换 2.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。 3.编写程序数一下 1到 100中9出现的次数
day31.将数组A中的内容和数组B中的内容进行交换。(数组一样大)#include<stdio.h>#include<stdlib.h>#pragma warning(disable:4996)int main(){ int a[5], b[5]; int i, j, t; for (i = 0; i < 5; i++) //给两...原创 2019-09-29 21:38:59 · 176 阅读 · 0 评论 -
C语言实现:输出菱形。 求出0~999之间的所有“水仙花数”并输出 求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字,例如:2+22+222+2222+22222
1.输出菱形。#include<stdio.h>#include<windows.h>#pragma warning(disable:4996)int main(){ int i,j,k,n; printf("请输入一位整数:\n"); scanf("%d",&n); //菱形的上三角 for(i=1;i<=n;i++) { for(...原创 2019-10-12 20:51:05 · 279 阅读 · 0 评论 -
C语言实现完成猜数字游戏。
1.完成猜数字游戏。#include<stdio.h>#include<windows.h>void Menu(){ printf("##############################\n"); printf("####1.play 2.exit####\n"); printf("##############################\...原创 2019-10-16 12:11:31 · 236 阅读 · 0 评论 -
C语言实现:写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)#include<stdio.h>#include<Windows.h>int main() { int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int k = 6; int left ...原创 2019-10-17 09:59:25 · 247 阅读 · 0 评论 -
C语言实现:编写代码模拟三次密码输入的场景,最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序。
3.编写代码模拟三次密码输入的场景,最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)#include<time.h>#define USER "tom"#d...原创 2019-10-17 10:03:31 · 948 阅读 · 0 评论 -
C语言实现:编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。#include<stdio.h>#include<Windows.h>int main(){ int ch ; printf("请输入一个大写字母或者小写字母\n"); while ((ch = ...原创 2019-10-17 10:17:30 · 263 阅读 · 0 评论 -
C语言实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定, 输入9,输出9*9口诀表,输入12,输出12*12的乘法口诀表。
实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出99口诀表,输入12,输出1212的乘法口诀表。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int main(){ int n = 0; printf("请输入一位整数,想实现多...原创 2019-10-19 11:15:33 · 283 阅读 · 0 评论 -
C语言:使用函数实现两个数的交换。
使用函数实现两个数的交换。#include<stdio.h>#include<Windows.h>void exchange(int *x,int *y){ *x = *x^*y; *y = *x^*y; *x = *x^*y;}int main(){ int x = 10; ...原创 2019-10-19 11:21:02 · 577 阅读 · 0 评论 -
C语言:实现一个函数判断year是不是润年。
实现一个函数判断year是不是润年。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)void leap(int year){ if (0 == year % 4 && year % 100 != 0 || 0 == year % 400) ...原创 2019-10-19 11:24:25 · 380 阅读 · 0 评论 -
C语言:创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)void init(int arr[],int length) ...原创 2019-10-19 11:31:07 · 230 阅读 · 0 评论 -
C语言:实现一个函数,判断一个数是不是素数。
实现一个函数,判断一个数是不是素数。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)void isPrime(int num){ int i = 0; for (i = 2; i <= sqrt(num); i++) { ...原创 2019-10-19 11:36:55 · 336 阅读 · 0 评论 -
C语言实现:递归和非递归分别实现求第n个斐波那契数。
1.非递归实现求第n个斐波那契数。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int fib(int n){ int a = 1; int b = 1; int c = 1; if (n <= 2) ...原创 2019-10-23 21:47:23 · 159 阅读 · 0 评论 -
C语言实现:编写一个函数实现n^k,使用递归实现
1.编写一个函数实现n^k,使用递归实现#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int power(int n, int k){ if (k == 0) { return 1; } else i...原创 2019-10-23 21:50:01 · 422 阅读 · 1 评论 -
C语言实现:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
1.写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int DigitSum(int n){ if (n <...原创 2019-10-23 21:52:59 · 385 阅读 · 0 评论 -
C语言实现:编写一个函数 reverse_string(char * string)(递归实现) 实现:将参数字符串中的字符反向排列。 要求:不能使用C函数库中的字符串操作函数。
编写一个函数 reverse_string(char * string)(递归实现)实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#include<stdio.h>#include<Windows.h>void reverse_string(char *string){ if (*string == '\0') ...原创 2019-10-23 21:55:27 · 315 阅读 · 0 评论 -
C语言实现:递归和非递归分别实现strlen
1.非递归实现strlen#include<stdio.h>#include<Windows.h>int strlen(char *string){ int count = 0; while (*string != '\0') { count++; string++; ...原创 2019-10-23 21:59:13 · 184 阅读 · 0 评论 -
C语言实现:递归和非递归分别实现求n的阶乘
1.非递归实现求n的阶乘#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int fact(int n){ int sum = 1; for (n; n > 0; n--) { sum *= n; ...原创 2019-10-23 22:04:55 · 512 阅读 · 0 评论 -
C语言实现:递归方式实现打印一个整数的每一位
1.递归方式实现打印一个整数的每一位#include<stdio.h>#include<windows.h>#pragma warning(disable:4996)void PointNum(int num){ if(num>10) { PointNum(num/10); } printf("%d ",num%10); }int ma...原创 2019-10-23 22:41:38 · 371 阅读 · 0 评论 -
C语言实现:三子棋
主函数:main.c#include "game.h"int main(){ srand((unsigned int)time(NULL));//设置随机数生成器 int select = 0; int quit = 0; while (!quit) { meun(); pri...原创 2019-10-31 14:26:21 · 195 阅读 · 0 评论 -
C语言实现:快速排序
快速排序的基本思想: 过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序的过程:用非常简单的话描述吧:在一组数中找到一个参考值(比如第一个元素),然后取出这个元素之后,这个元素的位置上就为空了,接着将这个参考值与后面最后一个元素相比较,如...原创 2019-11-05 17:09:44 · 695 阅读 · 0 评论 -
C语言实现:写一个函数返回参数二进制中 1 的个数(3种方法)
写一个函数返回参数二进制中 1 的个数比如: 15 0000 1111 4 个 1程序原型:int count_one_bits(unsigned int value){// 返回 1的位数}第一种方法:用模2除2的方法#include<stdio.h>#include<Windows.h>#pragma warning(...原创 2019-11-08 13:18:52 · 312 阅读 · 0 评论 -
C语言实现:获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)void Old_even(int m){ int i,j; printf("偶数位是:\n"); for (i = 31;...原创 2019-11-08 13:22:47 · 192 阅读 · 0 评论 -
C语言实现:输出一个整数的每一位。
输出一个整数的每一位#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)void print_every_one(int m){ while (m > 0) { if (m < 10) { ...原创 2019-11-08 13:25:18 · 817 阅读 · 0 评论 -
C语言实现:两个int(32位)整数m和n的二进制表达中, 有多少个位(bit)不同?
编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?输入例子:1999 2299输出例子:7#include<stdio.h>#include<Windows.h>#pragma warning(disable:4996)int differ_bits(int m, int n){ int count = 0...原创 2019-11-08 13:28:48 · 184 阅读 · 0 评论 -
C语言:操作符总结
一,算数操作符首先了解一下算术标识符都有哪些:+、-、*、/、%。+:分别用于整数和浮点数的加法。-: 分别用于整数和浮点数的减法*: 分别用于整数和浮点数的乘法/: 分别用于整数和浮点数的除法%:用于两个整数之间相除取余数注意:1.除了%操作符之外,其他的几个操作符都可以用于整数和浮点数。2.对于/操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除法。...原创 2019-11-09 12:06:41 · 1233 阅读 · 0 评论 -
C语言实现:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#include<stdio.h>#include<Windows.h>int main(){ int A...原创 2019-11-09 13:21:28 · 290 阅读 · 0 评论