- 博客(11)
- 收藏
- 关注
原创 C语言学习笔记模拟实现strcpy、strcat、strcmp、strstr
strcpy函数模拟实现 #include<stdio.h> #include<string.h> #include<assert.h> char* my_strcpy(char* dest,const char* src) { assert(dest != NULL); assert(src != NULL); int ret = dest; while (*dest++ = *src++) { ; } return ret; } int mai
2021-12-02 20:25:12
627
原创 C语言学习笔记:杨氏矩阵
有一个数字矩阵,矩阵的每行从左到右时递增的,矩阵从上到下时递减的,请编写程序在这样的矩阵中查找某个数是否存在。 时间复杂度小于O(N) //1 2 3 1 2 3 //4 5 6 2 3 4 //7 8 9 4 5 6 #include<stdio.h> void Findnum(int arr[][3], int k, int row, int col) { int x = 0; int y = col - 1; while (x < row &&
2021-11-29 22:00:05
235
原创 C语言学习笔记 判断字符串2 是不是由字符串1 左旋产生的(strcat,strncat,strstr)
//判断字符串2 是不是由字符串1 左旋产生的 //strcat strcat strstr #include<stdio.h> #include<string.h> void left_move(char* str,int k) { int i = 0; int len = strlen(str); for (i = 0; i < k; i++) { char t = *str; int j = 0; for (j = 0; j < len-1; .
2021-11-29 20:44:38
693
原创 C语言学习笔记:前n项和(Sn=a+aa+aaa+aaaa)
#include<stdio.h>计算数字a的前n项和 Sn=a+aa+aaa+aaaa+aaaaa int main() { int a = 0; int n = 0; scanf("%d %d", &a, &n); int sum = 0; int i = 0; //int t = a; int ret = 0; for (i = 0; i < n; i++) { //sum = sum + a;法1 //a = a * 10 + t; .
2021-11-29 19:48:01
610
原创 C语言学习笔记:水仙花数
//#include<stdio.h> //#include<math.h> //int main() //{ // int i = 0; // for (i = 0; i <= 100000; i++) // { // //判断i是否为水仙花数(自幂数) // //1,计算i的位数--n // int n = 1; // int tmp = i;//避免i的数值被改,造成一些不好的后果(例如死循环) // int sum = 0; // while (tmp /.
2021-11-29 19:46:31
104
原创 C语言学习笔记:左右旋字符串
实现一个函数,可以左旋字符串中的k个字符 例如: ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 或者右旋 ABCD右旋一个字符得到DABC ABCD右旋两个字符得到CDAB 左旋字符 void left_move(char* arr, int k) //左旋字符 { int i = 0; int len = strlen(arr); for (i = 0; i < k; i++) { char t = *arr; int j = 0; for (.
2021-11-29 19:39:01
516
原创 C语言学习笔记:字符串逆序
//void reverse(char* str)循环逆序 //{ // char* left = str; // int len = strlen(str); // char* right = &str[len - 1]; // while (left < right) // { // char tmp = *left; // *left = *right; // *right = tmp; // left++; // right--; // } //} //void reve.
2021-11-29 18:57:40
186
原创 C语言学习笔记打印杨辉三角
//1 //11 //121 //1331 //14641 #include<stdio.h> int main() { int arr[10][10] = { 0 };//创建一个10*10二维数组 int i = 0; int j = 0; for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { if (j == 0)//让二维数组第一列全部等于1 { arr[i][j] = 1; .
2021-11-13 21:57:26
917
原创 C primer plus 第六版 第六章课后题(7-17)
#include<stdio.h> //6章7题 #include<string.h> int main() { char arr[20] = { 0 }; scanf("%20s", arr); int i = 0; for (i = strlen(arr)-1; i >= 0; i--) { printf("%c", arr[i]); } return 0; } #include<stdio.h>//6章8题 int main() {.
2021-11-13 21:50:13
748
原创 编程 猜名次(C语言)
猜名次 5位运动员才加了10米台跳水比赛,有人让他们预测比赛结果 A:B第二,我第三 cbeda B:我第二,E第四 C:我第一,D第二 D:C最后,我第三 E:我第四,A第一 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次 #include<stdio.h> int main() { int a = 0; int b = 0; int c = 0; int d = 0; int e = 0; for (a = 1; a <= 5; a++) { f...
2021-11-13 21:46:48
397
原创 编程题:猜凶手 (C语言实现)
#include<stdio.h> int main() { int killer = 0; for (killer = 'a'; killer <= 'd';killer++) { if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3) { printf("凶手是:%c", killer); } } return 0; } 只有3个人说真话 1个人说假话.
2021-11-13 21:42:42
1259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人