- 博客(65)
- 收藏
- 关注
原创 猜数字游戏(升级版)
printf("选择错误\n");printf("选择错误\n");printf("请猜数字\n");printf("请选择难度\n");printf("请选择\n");
2022-07-25 18:00:58
806
原创 魔方阵的奇数阶和4n阶
int main(){ int j = 0; int k = 0; int arr[30][30] = { 0 }; int n = 0; scanf("%d", &n); int row = 0; int col = 0; int i = 0; if (n % 2 == 1)//奇数情况 { col = n / 2; arr[0][col] = 1; for (i = ...
2022-05-12 22:34:37
161
原创 计算cos值
本题要求实现一个函数,用下列公式求cos(x)的近似值,精确到最后一项的绝对值小于e:cos(x)=x0/0!−x2/2!+x4/4!−x6/6!+⋯裁判测试程序样例:#include <stdio.h>#include <math.h>double funcos( double e, double x );int main(){ double e, x; scanf("%lf %lf", &e, &x);..
2022-01-24 19:25:25
1152
原创 求一个数中某个数字出现的次数
int CountDigit(int n, int num){ if (num > 9 || num < 1) { printf("num输入错误\n"); } else { int count = 0; while (n) { if (n % 10 == num) { count++; ...
2021-11-25 19:58:29
258
原创 函数输出n行数字金字塔。
#include<stdio.h>#include<string.h>#include<assert.h>void pyramid(int n){ if (n > 9) { printf("输入错误\n"); } int i = 0; for (i = 0; i < n; i++) { int j = 0; int count = 0;...
2021-11-18 22:03:39
1647
原创 memmove函数的实现
void* my_memmove(void* dest, const void* src, size_t num){ void* ret = dest; assert(dest != NULL); assert(src != NULL); if (dest < src) { while (num--) { *(char*)dest = *(char*)src; ++(char*)d...
2021-11-16 19:47:14
4095
原创 memcpy函数的实现
#include<stdio.h>#include<string.h>#include<assert.h>struct s{ char name[20]; int age;};void* my_memcpy(void* dest, const void* src, size_t num){ assert(dest != NULL); assert(src != NULL); while (num--) {...
2021-11-14 11:44:10
822
原创 strstr函数的实现
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>#include<assert.h>char* my_strstr(const char* p1, const char* p2){ assert((p1!=NULL) && (p2!=NULL)); char* s1 = p1;//不改变p1和p2; char* s2 = p2; ...
2021-11-12 18:34:39
94
原创 strcmp函数的实现
#include<stdio.h>#include<string.h>#include<assert.h>int my_strcmp(const char* p1, const char* p2){ assert(p1 && p2); while (*p1 == *p2) { if (*p1 == '\0') { return 0; } ...
2021-10-30 11:05:18
116
原创 strcat函数的实现
#include<stdio.h>#include<string.h>#include<assert.h>char* my_strcat(char* dest, const char* src){ assert(dest!=NULL); assert(src != NULL); char* ret = dest; while (*dest != '\0') { dest++; } while ...
2021-10-29 19:45:07
129
原创 strcpy 函数的实现
#include<stdio.h>#include<string.h>#include<assert.h>void my_strcpy(char* dest, const char* src){ assert(dest!=NULL); assert(src != NULL); while (*dest++ = *src++) { ; }}int main(){ char arr1[] = "ab...
2021-10-24 21:38:39
120
原创 通过指针在杨氏矩阵查找某个数
int search(int arr[3][3], int k,int* px,int* py ){ int x = 0; int y = *py - 1; while (y >= 0 && x <*px-1 ) { if (arr[x][y] > k) { y--; } else if (arr[x][y] < k) { ...
2021-10-24 20:27:05
2110
原创 在杨氏矩阵中查找某个数字
int search(int arr[3][3], int k,int row,int col){ int x = 0; int y = col - 1; while (y >= 0 && x <= 2) { if (arr[x][y] > k) { y--; } else if (arr[x][y] < k) { ...
2021-10-24 19:55:31
90
原创 通过库函数判断一个字符串是否由另一个字符串左旋而来
#include<stdio.h>#include<string.h>#include<assert.h>int is_leftmove(char* str1, char* str2){ int len = strlen(str1); strncat(str1, str1, len);//追加字符串 char* ret=strstr(str1, str2);//查找子串 if (ret == NULL) { ...
2021-10-22 19:28:07
79
原创 判断一个字符串是否由另一个字符串左旋而来(一步一步试验)
#include<stdio.h>#include<string.h>#include<assert.h>void reverse(char* left, char* right){ assert(left != NULL); assert(right != NULL); while (left < right) { char tmp = *left; *left = *right; ...
2021-10-21 11:06:07
91
原创 三步翻转法实现字符串左旋
#include<stdio.h>#include<string.h>#include<assert.h>void reverse(char* left, char* right){ assert(left != NULL); assert(right != NULL); while (left < right) { char tmp = *left; *left = *right; ...
2021-10-21 10:52:37
93
原创 将一个字符串左旋n个字符
#include<stdio.h>#include<string.h>void reverse(char* arr,int n){ int len = strlen(arr) ; int j = 0; for(j=0;j<n;j++) { int k = 0; char tmp = arr[0]; for (k = 0; k < len - 1; k++) {...
2021-10-21 10:37:51
117
原创 打印杨辉三角
int main(){ int n = 0; printf("请输入要输出的行数:\n"); scanf("%d", &n); int arr[10][10] = { 0 }; int i = 0; for (i = 0; i < n; i++) { int j = 0; for (j = 0; j <= i; j++) { if (j...
2021-10-10 22:05:18
70
原创 使一个数组奇数位于偶数左边(简化版)
void reverse(int* arr,int sz){ int right = sz - 1; int left = 0; while (left < right) { while (left < right && arr[left] % 2 == 1) { left++; } while (left < right && arr[...
2021-10-09 20:53:28
135
原创 使一个数组的奇数位于偶数左边1
void reverse(int* arr,int sz){ int right = sz - 1; int left = 0; while (left < right) { if (arr[left] % 2 ==0) { if( (arr[right] % 2)==1) { int tmp = arr[left]; arr...
2021-10-09 20:50:44
112
原创 空瓶换酒问题(循环)
#include<stdio.h>int main(){ int n = 0; scanf("%d", &n); int total = 0; int exh = 0; int empty = n; while (empty >= 2) { exh = exh+empty/ 2; empty = empty / 2 + empty % 2; } total = exh + n...
2021-10-06 23:35:06
221
原创 空瓶换酒问题(递归)
#include<stdio.h>int Cac(int n){ if (n < 2) { return 0; } if (n >= 2) { return n/2+Cac(n/2+n%2); }}int main(){ int n = 0; scanf("%d", &n); int ret=Cac(n)+n; printf("%d", ret);...
2021-10-06 23:25:07
189
原创 打印任意大小的菱形
#include<stdio.h>#include<math.h>int main(){ int line = 0; scanf("%d", &line); int i = 0; int j = 0; for (j = 0; j <= line ; j++) { int m = 0; for (m = 0; m <= line - 1 - ...
2021-10-06 22:38:41
2084
原创 输出水仙花数
#include<stdio.h>#include<math.h>int main(){ int i = 0; for (i = 0; i <= 100000; i++) { int sum = 0; int n = 1; int tmp = i; while (tmp /= 10) { n++; } tmp = ...
2021-10-05 23:38:48
77
原创 输入一个符号输出他的ascll码值并输出他的前一个元素
int main(){ char ch,ch2; scanf("%c",& ch); ch2 = 'ch' - 1; printf("%d ", ch); printf("%c",ch2); return 0;}
2021-10-02 10:32:20
456
原创 通过函数指针数组实现计算器
void menu(){ printf("******************************\n"); printf("************请选择************\n"); printf("0.exit 1.Add 2.Sub 3.Mul 4.Div"); printf("******************************\n");}int Add(int x, int y){ return x + y;}int Sub(i...
2021-09-17 08:16:58
1137
原创 通过指针打印数组
#include<stdio.h>void print(int(*p)[5], int x, int y){ int i = 0; for (i = 0; i < x; i++) { int j = 0; for (j = 0; j < y; j++) { printf("%d ", *(*(p + i) + j)); //printf("%d ", (*(p ...
2021-09-12 15:25:12
149
原创 求计算机的字节序模式
#include<stdio.h>int check_sys(){ int a = 1; return *(char*)&a;}int main(){ int ret = check_sys(); if (ret == 1) { printf("小端\n"); } else { printf("大端\n"); } return 0;}...
2021-09-08 20:14:37
79
原创 通过递归求n的k次方
#include<stdio.h>double Pow(int n, int k){ if (k == 0) return 1; else if (k < 0) return (1 / (Pow(n, -k))); else return n * Pow(n, k - 1);}int main(){ int n = 0; int k = 0; scanf("%d%d", &n,...
2021-09-04 10:47:38
165
原创 通过递归将一个数的每一位相加
#include<stdio.h>int DigitSum(unsigned int n){ if (n > 9) { return DigitSum(n / 10)+n%10; } else return n;}int main(){ unsigned int n = 0; scanf("%d", &n); int a=DigitSum(n); printf("%d", a);...
2021-09-03 17:50:57
121
原创 对一个数组进行逆序
#include<stdio.h>int my_strlen(char* str){ int count = 0; while (*str != '\0') { count++; str++; } return count;}void reverse_string(char* arr){ char tmp = arr[0]; int len = my_strlen(arr); arr[0] ...
2021-09-03 17:30:32
131
原创 输入n,打印n乘法表
#include<stdio.h>void print(int n){ int i = 0; for (i = 1; i <= n; i++) { int j = 0; for (j = 1; j <= i; j++) { printf("%d*%d=%-3d", i, j, i * j); } printf("\n"); }}int mai...
2021-09-03 08:54:10
649
原创 打印一个数字的二进制的奇数位和偶数位
int main(){ int a = 0; scanf("%d", &a); int i = 0; printf("偶数位是:\n"); for (i = 30; i >= 0; i -= 2) { printf("%d ", (a >> i) &1); } printf("\n"); printf("奇数位是:\n"); for (i = 31; i >= 1; i ...
2021-09-02 18:35:04
111
原创 精简算法求一个数字二进制中1的个数
int count_bit_one(int n){ int count = 0; int i = 0; while (n) { n = n & (n - 1); count++; } return count;}int main(){ int n = 0; scanf("%d", &n); int count=count_bit_one(n); printf("%d\n",...
2021-09-02 17:51:24
75
原创 对两个数组进行交换
#include<stdio.h>int main(){ int arr1[] = { 1,3,5,7,9 }; int arr2[] = { 2,4,6,8,10 }; int i = 0; int sz = sizeof(arr1) / arr1[0]; int temp = 0; for (i = 0; i < sz; i++) { temp = arr1[i]; arr1[i] = arr2...
2021-09-01 22:44:08
176
原创 实现对数组元素的逆置
#include<stdio.h>void Init(int arr[], int sz){ int i = 0; for (i = 0; i < sz; i++) { arr[i] = 0; }}void Print(int arr[], int sz){ int i = 0; for (i = 0; i < sz; i++) { printf("%d ", arr[i]); ...
2021-08-31 22:26:59
277
原创 C语言实现三子棋
#define ROW 3#define COL 3#include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>void InitBoard(char board[ROW][COL], int row, int col);void DisplayBoard(char board[ROW][COL], int row, int col);void PlayerMove
2021-08-16 17:01:28
74
原创 输入我爱你出现爱心
#include<stdio.h>#include<math.h>#include<stdlib.h>#define I 20#define R 340#include<string.h>int main(){ system("mode con cols=80 lines=35"); system("color 99"); system("title 爱你"); char answer[10]; print...
2021-08-16 16:59:49
299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人