![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
hello_shaonian
这个作者很懒,什么都没留下…
展开
-
小游戏——扫雷
实现一个扫雷游戏1.设置两个数组:mine[ROW][COL]表示布雷,show[ROW][COL]显示扫雷情况(显示周围有几个雷);因为统计四周,边缘位置不好实现,所以把二维数组的行和列都加二,这样无论是否在边缘都可以当做一种情况来实现。2.初始化mine和show,show->*,mine->0;3.setmine布雷,电脑随机设置20个雷;4.显示游戏面板,在游戏面板上输入坐...原创 2018-04-22 00:18:16 · 523 阅读 · 0 评论 -
编程求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和(a是一个数字);编程验证花括号成对出现。
1,输入一个数字2,输出结果为:24690编程如下:#include<stdio.h>#include<windows.h>#pragma warning(disable:4996)int main(){ int x; scanf("%d", &x); int n = 0; int sn = 0; int i = 0; for (; i <...原创 2018-04-05 22:16:28 · 1301 阅读 · 0 评论 -
输出菱形
#include<stdio.h>#include<windows.h>#pragma warning(disable:4996)int main(){ int l=0; printf("请输入一个数字:\n",l); scanf("%d", &l); int i = 0; int n = 0; for (i = 0; i < l; i++...原创 2018-04-06 14:42:42 · 903 阅读 · 0 评论 -
小游戏——三子棋
//编写一个三子棋代码,首先创建头文件,然后在源文件里引入头文件;//实现三子棋游戏,先创建一个菜单选择玩游戏或者退出游戏,进入游戏之后,玩家和电脑对战,当有三个的棋子连续放时,可能玩家赢,可能电脑赢,可能平局,可能谁都没有赢;//规定'x'->player win , 'o'->comouter win , 'e'->draw ,' '->no one win;头文件...原创 2018-04-20 14:03:40 · 222 阅读 · 0 评论 -
冒泡排序
冒泡排序:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。1.数组方式的冒泡排序:(如果是有序的[flag=0],就直接跳出循环,进行下一个数字排序)//数组方式:#include<stdio.h>#include<window...原创 2018-05-17 11:18:07 · 232 阅读 · 0 评论 -
模拟实现strstr
函数原型是char*str(char *str1,char *str2);作用是找出str2字符串在str1字符串中第一次出现的位置(不包括str2的串结束符),如果找到,从str1中的str2位置起,返回str1中str2起始位置的指针,如果没有,返回NULL.举个例子:str1[32]="abcdedefg",str2[20]=def,通过函数str(str1,str2)可以得到“defg”....原创 2018-05-17 20:19:06 · 748 阅读 · 0 评论 -
模拟实现memcpy和memmove
1.模拟实现memcpy(按字节的内存拷贝,无关类型) 原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:#include <string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。...原创 2018-05-19 23:00:28 · 173 阅读 · 0 评论 -
c语言中字符串函数的模拟实现
1.strlen函数的模拟实现:(统计字符串的长度)extern unsigned int strlen(char *s);在Visual C++ 6.0中,原型为size_t strlen(const char *string); ,其中size_t实际上是unsigned int,在VC6.0中可以看到这样的代码:typedef unsigned int size_t; 。头文件:string...原创 2018-05-20 15:02:32 · 261 阅读 · 0 评论 -
c中字符串模拟实现2
1.模拟实现strncpy 原型:extern char *strncpy(char *dest, char *src, int n); 用法:#include <string.h> 功能:把src所指由NULL结束的字符串的前n个字节复制到dest所指的数组中。 说明: 如果src的前n个字节不含NULL字符,则结果不会以NULL字符...原创 2018-05-22 19:46:28 · 279 阅读 · 0 评论 -
左旋字符串
题目: 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!代码:class Solution {public: string Left...原创 2018-08-24 10:53:15 · 161 阅读 · 0 评论 -
输入字符串 "I am a student",则输出 "student.a am I " 。
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串 "I am a student",则输出 "student.a am I " 。思路:首先翻转整个字符串。产生的结果就是“.tneduts a ma i”。翻转每一个单词。产生结果为“student. a am i”。代码:#include "...原创 2018-08-24 14:58:55 · 7135 阅读 · 0 评论 -
实现strncmp()函数
#ifndef STR_CMP_H#define STR_CMP_Hint str_ncmp(const char * str1, const char * str2, int n);#endif//实现strncmp函数为字符串比较函数,字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。//其函数声明为int strncmp(const char * s...原创 2019-08-19 19:49:40 · 2884 阅读 · 1 评论 -
采集人的身高体重,计算体脂率,判断健康情况
#include"BFR.h"#include"stdio.h"#include<windows.h>double BfrFemaleLimits18_39[] = { 5.0, 20.5, 34.5, 39.5, 45.01 };double BfrFemaleLimits40_59[] = { 5.0, 21.5, 35.5, 40.5, 45.01 };double...原创 2019-08-13 01:56:42 · 2163 阅读 · 0 评论 -
关于字符串
#ifndef _STRING_H#define STRING_H#include <stdio.h>#include<stdlib.h>#include<string.h>#define ret_value 0#define SPACE ' '#define END '\n'void Get_string(char str[100]);...原创 2019-08-13 01:59:00 · 139 阅读 · 0 评论 -
统计文本中字符数和单词数
#include"count_text.h"#include <stdio.h>#include<windows.h>int main(int argc,char* argv[]){ char* file = NULL; FILE* fp = NULL;//文件指针,指向file文件 fp = fopen(argv[1], "rb");//只读 fsee...原创 2019-09-07 16:49:06 · 1600 阅读 · 0 评论 -
按下标打印单词
#include"print_word.h"#include<stdio.h>#include<windows.h>#include<string.h>int main(int argc, char *argv[]){ int i = 0; char* arr[100] = { NULL }; printf("指针数组里的字符串为:");...原创 2019-09-07 16:55:07 · 165 阅读 · 0 评论 -
求出0〜999之间的所有“水仙花数”并输出。
水仙花数是指一个 n 位数 ,它的每个位上的数字的 n 次幂之和等于它本身。在数论中,水仙花数(Narcissistic number)也称为自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number)。 例如153、370、371及407就是三位数的水仙花数,其各个数之立方和等于该数: 153 = 1^3 + 5^3 + 3^3。 370 = 3^3 + 7^3 + 0^3。...原创 2018-04-05 21:38:02 · 336 阅读 · 0 评论 -
练习3
1.将数组A中的内容和数组B中的内容进行交换。(数组一样大)这个编程的思路和前面交换两个整数思路一样,编程采用位异或进行交换。#include<stdio.h>#include<windows.h>int main(){ int i = 0; int a[] = { 1, 12, 23, 34, 45 }; int b[] = { 2, 43, 54, 56, ...原创 2018-04-05 19:42:17 · 91 阅读 · 0 评论 -
1.输出一个整数的每一位。2. 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
1.从最高位开始依次输出:把1左移31位,就是最高比特位,再&1,进行判断0或1;循环直到最低位。#include<stdio.h>#include<windows.h>int showDataBits(int x){ int i = 31; for (i = 31; i>=0; i--) { if (x&(1<<i)) ...原创 2018-04-11 23:19:57 · 215 阅读 · 0 评论 -
练习
1. 打印100~200 之间的素数 #include<stdio.h>#include <windows.h>int main(){ int i, j; for (i = 100; i <= 200; i++) { for (j = 2; j <= i - 1; j++) { if (i%j == 0) break; ...原创 2018-03-30 22:55:39 · 102 阅读 · 0 评论 -
练习
2. 输出乘法口诀表 #include<stdio.h>#include <windows.h>int main(){ int i, j;for (i = 1; i <= 9; i++){ printf(" "); for (j = 1; j <= i; j++) printf("%d%d%d", i, j, i*j); printf("\...原创 2018-03-30 23:08:38 · 137 阅读 · 1 评论 -
给定两个整形变量的值将两个值的内容进行交换
1.基本思路:另开辟一个空间i作为媒介,把num1的内容放在i内,把num2的内容放在num1内,再把i内的内容放在num2内,就完成交换。#include<stdio.h>#include<windows.h>int main(){ int i; int num1 = 2; int num2 = 3; i = num1; num1 = num2, num...原创 2018-04-01 13:11:57 · 177 阅读 · 0 评论 -
求10 个整数中最大值。
#include<stdio.h>#include<windows.h>int main(){ int a[] = {1,12,22,34,45,56,67,78,88,89}; int i = 1; int size = sizeof(a) / sizeof(a[0]);//sizeof(a)表示整个数组大小,ziseof(a[0])表示数组第一个的大小。 ...原创 2018-04-01 13:41:02 · 446 阅读 · 0 评论 -
求两个数的最大公约数
一.比较两个数中最小数,用x,y分别除以小于等于最小数的数,直到结果为0,这个数就是最大公约数。#include<stdio.h>#include<windows.h>int main(){ int x = 12, y = 16; int min = x > y ? y : x; //条件运算符:x>y成立,min=y,否则min=x. while ...原创 2018-04-01 15:22:52 · 612 阅读 · 0 评论 -
获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
思路一:把每一位分别&1,判断是0或1,从最高位开始判断#include<stdio.h>#include<windows.h>int main(){ int x = 15;//0000 0000 0000 0000 0000 0000 0000 1111 int n = 0; int i = 0; int j = 0; int a1[16] =...原创 2018-04-14 17:31:03 · 181 阅读 · 0 评论 -
小游戏——猜数字
//创建小游戏,首先得创建一个菜单(还是游戏或者退出游戏),然后再开始创建游戏。比如玩一个猜数字的小游戏(通过二分查找方法),编程如下:#include<stdio.h>#include<windows.h>#include<time.h>void menu(){ printf("********************\n"); printf("...原创 2018-04-15 14:25:56 · 184 阅读 · 0 评论 -
在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
#include<stdio.h>#include<windows.h>int binsearch(int a[], int size, int goal){ int mid = 0; int left = 0;//第一个元素的下标 int right = size - 1;//最后一个元素的下标 while (left <= right) { ...原创 2018-04-15 15:53:55 · 755 阅读 · 0 评论 -
编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
#include<stdio.h>#include<windows.h>int main(){ char ch; while ((ch = getchar()) != EOF)//从标准输入里读取字符 { if (ch >= 'a'&&ch <= 'z') { ch = ch - 32; putchar(ch);/...原创 2018-04-15 16:27:58 · 170 阅读 · 0 评论 -
编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。
#include<stdio.h>#include<windows.h>#pragma warning(disable:4996)#define PASSWORD "xys321"int main(){ char psw[10] = " "; int i = 0; for (i = 0; i < 3; i++) { printf("please...原创 2018-04-15 17:04:36 · 256 阅读 · 0 评论 -
函数编程的练习
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表,输出12,输出12*12的乘法口诀表。 #include<stdio.h>#include<windows.h>#pragma warning(disable:4996)int showMaltable(int n){ int i, j; for (i = 1; i &l...原创 2018-04-11 20:25:11 · 654 阅读 · 0 评论 -
创建一个数组, 实现函数init()初始化数组、 实现reverse()函数完成数组元素的逆置,实现empty()清空数组。要求:自己设计函数的参数,返回值。
#include<stdio.h>#include<windows.h>#include<string.h> #include<assert.h> void init(int arr[],int size)//数组初始化{ assert(arr);//宏,检测某个条件是否成立,条件不成立则直接终止程序,进而打印终止的相关信息。 int...原创 2018-04-11 21:09:35 · 294 阅读 · 0 评论 -
写一个函数返回参数二进制中 1 的个数
思路一:一个数取模的结果就是最低比特位,如果取模是1,则计数。然后把这个数除以2(即去掉最低比特位),再判断。但是这个程序有局限性,只能判断正数。#include<stdio.h>#include<windows.h> int countBit(int i) { int c = 0;while (i){ if (i % 2 == 1)//判断最低比特位 {...原创 2018-04-11 22:14:26 · 133 阅读 · 0 评论 -
加密与解密;解压缩
//使用简化RLE压缩方式,输入一个文件名和方式,压缩或解压已压缩的文件。//加密或解密文件,秘钥//加密方案:使用秘钥对文件内容异或处理,然后对单字节,高四位颠倒 低四位取反。//解密方案:按照加密方案相反处理#include"compress.h"#include<stdio.h>#include<string.h>#include <windo...原创 2019-09-07 17:00:24 · 533 阅读 · 0 评论