Code Record
Rookie.
World is simple and beauty.
展开
-
C语言扫雷
环境VS2013思路:1,先搞一个二维数组表示地图。(a),show_map玩家看到的地图,已翻开(数字)和未翻开(*)两种状态。(b),mine_map地雷布局图,每个位置标记是否有雷(0表示不是地雷/1表示是地雷)2,初始化刚才的两个地图。(a),show_map初始化把每个元素都设为*(b),mine_map初始化随机生成10个地雷3,打印地图4,提示用户...原创 2019-07-19 15:23:50 · 143 阅读 · 0 评论 -
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第二,我第三;B选手说:我第二,E第四;C选手说:我第一,D第二;D选手说:C最后,我第三;E选手说:我第四,A第一;比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。#include <stdio.h>#include <stdlib.h>#include <windo...原创 2019-05-07 17:55:11 · 112 阅读 · 0 评论 -
递归方式实现打印一个整数的每一位
#include<stdio.h>void print(int n){ if (n < 10) { printf("%d ", n); } else { print(n / 10); printf("%d ", n % 10); }}int main(){ int ...原创 2019-05-07 16:59:07 · 199 阅读 · 0 评论 -
递归和非递归分别实现求n的阶乘
#define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h>#include "stdlib.h"#include<stdio.h>//递归方法实现N的阶乘int fac1(int n){ if (n == 1) { return 1; } return n *fac1(n - 1);}//非递归...原创 2019-05-07 16:59:51 · 517 阅读 · 0 评论 -
递归和非递归分别实现strlen
递归#include<stdio.h>#include<windows.h>int my_strlen(char *string){ int count = 0; if (*string != '\0') { string++; count = 1 + my_strlen(string); } return count;}int main...原创 2019-05-07 17:00:11 · 79 阅读 · 0 评论 -
编写一个函数 reverse_string(char * string)(递归实现)
实现:将参数字符串中的字符反向排列。要求:不能使用C函数库中的字符串操作函数。#include<stdio.h>#include<stdlib.h>void reverse_string(char* string){ if ('\0' != *(++string)){ reverse_string(string); } printf("%c", ...原创 2019-05-05 20:45:07 · 192 阅读 · 0 评论 -
3. 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调
#include <stdio.h>int DigitSum(int n){ int sum=0; int m=0; if(n!=0) { m=n%10; n=n/10; sum=m+DigitSum(n); } return sum;}int main (){ int a; printf("请输入一个整数: "); scanf("%d",&a...原创 2019-05-05 20:42:19 · 190 阅读 · 0 评论 -
编写一个函数实现n^k,使用递归实现
#include <windows.h>#pragma warning(disable:4996)int fun(int a, int b){ if (b == 0) { return 1; } else if (b == 1) { return a; } else { ...原创 2019-05-05 20:01:17 · 173 阅读 · 0 评论 -
递归和非递归分别实现求第n个斐波那契数
#include<stdio.h>int fib(int n){ int a = 1; int b = 1; int c = 1; if (n <= 2) { return 1; } else { return fib(n - 1) + fib(n - 2); }}i...原创 2019-05-05 19:49:55 · 148 阅读 · 0 评论 -
写一个程序来确定到底谁是凶手
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。#include <stdio.h>#include <stdlib.h>int main(){ int mu...原创 2019-05-07 20:10:45 · 510 阅读 · 0 评论 -
打印杨辉三角
#include <stdio.h>int main(){ int a[10][10]; int i, j; for (i = 0; i < 10; i++) { a[i][0] = 1; a[i][i] = 1; } for (i = 2; i < 10; i++) { for (j = 1; j < i; j++) a[i][j]...原创 2019-05-07 20:28:04 · 98 阅读 · 0 评论 -
调整数组使奇数全部都位于偶数前面
#include <stdio.h>void Print(int* p, int right){ int i = 0; for (i = 0; i <= right; i++) { printf("%d ", *(p + i)); } printf("\n");}void separate(int arr[], int left, int right)...原创 2019-05-07 21:02:39 · 104 阅读 · 0 评论 -
C语言三子棋
思路:创建一个字符型的二维数组(3*3)表示棋盘。(x表示玩家落子,o表示电脑落子,‘ ’表示未落子)1,游戏开始时,进行初始化棋盘,把所有的元素都设为‘ ’。2,提示玩家落子(输入一个坐标)3,判定胜负4,电脑落子(基于随机数的方式生成一个坐标)5,判定胜负#define _CRT_SECURE_NO_WARNINGS#include <stdio.h...原创 2019-07-18 11:14:51 · 100 阅读 · 0 评论 -
翻转
有一个字符数组的内容为:"student a am i",请你将数组的内容改为"i am a student".要求:不能使用库函数。只能开辟有限个空间(空间个数和字符串的长度无关)。student a am ii ma a tnedutsi am a student#include <stdio.h>#include <string...原创 2019-05-25 17:56:33 · 113 阅读 · 0 评论 -
.编程实现: 一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。(使用位运算)
#include<stdio.h> int main(){ int arr[] = { 1, 5, 5, 1, 7, 6, 7, 8, 8,9,9}; int i = 0; int len = sizeof(arr) / sizeof(arr[0]); for (i = 1; i < len; i++) { ...原创 2019-05-25 17:52:42 · 122 阅读 · 0 评论 -
不使用(a+b)/2这种方式,求两个数的平均值
#include<stdio.h>#include<stdlib.h>int main(){ int a = 12; int b = 25; double average = 0; if ((a + b) % 2 == 0) { average = (a + b) >> 1; } average = ((a + b) &g...原创 2019-05-25 17:50:59 · 69 阅读 · 0 评论 -
编写函数
unsigned int reverse_bit(unsigned int value);这个函数的返回值value的二进制位模式从左到右翻转后的值。如:在32位机器上25这个值包含下列各位:00000000000000000000000000011001翻转后:(2550136832)10011000000000000000000000000000程序结果返回:255013...原创 2019-05-25 17:47:02 · 939 阅读 · 0 评论 -
判断一个字符串是否为另外一个字符串旋转之后的字符串。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>void reverse(char* start, char* end){ while (start < end) { char temp = *star...原创 2019-05-07 21:38:24 · 108 阅读 · 0 评论 -
实现一个函数,可以左旋字符串中的k个字符
采用循环移位,对需要旋转的k个字符按顺序进行旋转,先将要旋转的一个字符保存起来,将后面的往前挪动一位,再将保存起来的这个字符赋给最后一位,这样连续循环k次,就可以完成了。代码实现如下:#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h...原创 2019-05-07 21:32:06 · 89 阅读 · 0 评论 -
杨氏矩阵
#include<stdio.h>void find(int arr[3][3], int *px, int *py, int key){int row = 0;int col = *py - 1;while ((col>=0) && (col<*py)){if (arr[row][col] == key){*px = row;*py ...原创 2019-05-07 21:21:01 · 64 阅读 · 0 评论 -
4. 创建一个数组, 实现函数init()初始化数组、 实现empty()清空数组、 实现reverse()函数完成数组元素的逆置。 要求:自己设计函数的参数,返回值。
#include<stdio.h>#include<stdlib.h>void init(int a[], int sz)//初始化数组{ int i; for (i = 0; i < sz; i++) { a[i] = 0; }} void empty(int a[], int sz)//清空数组{ int i; for (i ...原创 2019-05-05 19:44:17 · 184 阅读 · 0 评论 -
用函数实现两个数的交换
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int Swap(int* x, int* y)//形参{ int temp; temp = *x; *x = *y; *y = temp;}int main(){ int a, b; scanf("%d %d", &...原创 2019-05-05 19:29:50 · 1122 阅读 · 0 评论 -
1.实现一个函数,打印乘法口诀表,口诀表的行数和列数自己指定,输入9,输出9*9口诀表
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include <windows.h>void print(int n){ int x = 0; for (x = 1; x <= n; x++) { int y = 0; for (y = 1; y...原创 2019-05-05 19:20:27 · 2645 阅读 · 1 评论 -
二进制异或实现两个数组的内容交换(数组一样大)
#include <stdio.h>#include <stdlib.h>//二进制异或运算实现两个数的交换(数组一样大)int main(){ int a[4] = { 1, 2, 3, 4 }; int b[4] = { 5, 6, 7, 8 }; int i; for (i = 0; i < 4;i++) {...原创 2019-04-22 21:06:13 · 274 阅读 · 0 评论 -
求两个数的最大公约数。
#include <stdio.h>#include <stdlib.h>int main(){ int a; int b; int t; printf("请输入两个数:"); scanf_s("%d%d", &a, &b); if (a < b){ t = a; ...原创 2019-04-10 19:50:52 · 82 阅读 · 0 评论 -
.将三个数按从大到小输出。
#include<stdio.h>#include<stdlib.h>int main(){ //两两比较,然后交换。(临时数值x) int a, b, c,x; scanf_s("%d %d %d", &a, &b, &c); if (a < b) { ...原创 2019-04-10 19:42:42 · 197 阅读 · 0 评论 -
求10 个整数中最大值。
#include <stdio.h>int main(){ int a[10]; //定义一个包含十个数的数组 int i, max; printf("请输入十个数 :"); for (i = 0; i < 10; i++) scanf_s("%d", &a[i]); max = a...原创 2019-04-10 19:08:14 · 144 阅读 · 0 评论 -
不允许创建临时变量,交换两个数的内容
#include <stdio.h>#include<stdlib.h>int main (){ int a = 1; int b = 2; printf("初始值: a=%d, b=%d\n",a,b); a ^= b; b ^= a; a ^= b; printf("交换后: a=%d, b=%...原创 2019-04-10 17:13:05 · 78 阅读 · 0 评论 -
给定两个整形变量的值,将两个值的内容进行交换。
#include <stdio.h>#include <stdlib.h>int main(){ int a = 1; int b = 2; int c=0;//定义一个临时变量C printf("交换前:a=%d,b=%d\n",a,b); c = a;//c=1 a = b;//a=2 b = c...原创 2019-04-10 17:04:05 · 104 阅读 · 0 评论 -
判断1000年---2000年之间的闰年
#include <stdio.h>#include <stdlib.h>int main(){ int year = 0; int num = 0; for (year = 1000; year <= 2000; year++) { if ((year % 4 == 0 &&am...原创 2019-04-10 16:49:50 · 92 阅读 · 0 评论 -
输出乘法口诀表
#include <stdio.h>#include<stdlib.h>int main(){ int i = 0; int j = 0; for (i=1;i<=9;i++){ for (j=1;j<=i;j++){ printf("%d...原创 2019-04-10 16:43:05 · 86 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
#include <stdio.h>#include <stdlib.h>//1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100//可以将上式分解为奇数项的总和与偶数项的总和相减int main(){ int i; double sum; double sum1 = 0;//用来计奇数项的和 do...原创 2019-04-22 21:38:09 · 594 阅读 · 0 评论 -
编写程序数一下 1到 100 的所有整数中出现多少次数字9。
#include <stdio.h>#include <stdlib.h>//计算一下从1到100出现多少次9//9出现无非是各位或者十位上的9,可以用%10==9来判断个位//int型为整形,可以用/10是否等于9来判断十位int main(){ int count=0; for (int i = 1; i <= 100;i++)...原创 2019-04-22 22:51:19 · 232 阅读 · 0 评论 -
写一个函数,判断是不是素数。
#include <stdio.h>#include <stdlib.h>//写一个函数,判断一个数是不是素数//如果是素数返回1,不是素数返回0int Isprime(int x){ if (x <=0) { return 0; } if (x == 1) //1不是素数 { ...原创 2019-04-23 22:29:28 · 439 阅读 · 0 评论 -
编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。
#include<stdio.h>#include<stdlib.h>int main(){ int ch = 0; printf("输入一个字符!\n"); while ((ch = getchar()) != 0) { //循环中ch表示为ASCII值 if (ch >= 'a'&...原创 2019-05-05 19:10:53 · 453 阅读 · 0 评论 -
写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)
#include <stdio.h>#include <stdlib.h>int main(){ // 二分查找 int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int to_find = 1; //[left,right]待查找区间 int left = 0; i...原创 2019-05-05 19:04:31 · 100 阅读 · 0 评论 -
猜数字游戏(1-100)
直接上代码吧#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>int menu(){ printf("================\n"); printf("====1,Start!====\n"); printf("====2,Exit! ====\n")...原创 2019-05-05 18:39:35 · 6298 阅读 · 0 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>void summation(){ int num = 0; scanf("%d", &num); int sum = num; int next = num; int i = 1;...原创 2019-04-24 23:09:22 · 173 阅读 · 0 评论 -
求出0~999之间的所有“水仙花数”并输出。
//求出0~999之间的所有“水仙花数”并输出。#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>int main(){ int i, a, b, c; for (i = 100; i < 1000; i++) { a = i %...原创 2019-04-24 23:04:06 · 118 阅读 · 0 评论 -
打印一个菱形
#include<stdio.h>void main(){ int i,j,k; for(i=1;i<=4;i++) //先打印上边的四行 { for(j=1;j<=4-i;j++) //控制要打印的空格数量 printf(" "); for(k=1;k<=2*i-1;...原创 2019-04-24 22:51:57 · 725 阅读 · 0 评论