代码笔录1

10-16

出入栈序列是否合法

//
// Created by 86184 on 2024/10/16.
//
#include <stdio.h>//IIOOOIO
int jude(char s[]) {int count = 0, i = 0;while (s[i] != '\0') {if (s[i] == 'I') count++;else if (s[i] == 'O') count--;else return 0;if (count < 0) return 0;i++;}if (count != 0) {return 0;}return 1;
}int main() {char s[128] = {"IIOOO"};int flag = 0;flag = jude(s);if (flag == 0) {printf("不合法序列");} else {printf("合法序列");}return 0;
}

数字转字符

//
// Created by 86184 on 2024/10/16.
//
#include <stdio.h>//408 ---> "408"
int NumToSt(int n, char s[], int *i) {if (n == 0) return 0;int v;char c;v = n % 10;n /= 10;c = (char) (v + '0');s[*i] = c;*i = *i + 1;return NumToSt(n, s, i);
}int main() {int i = 0, n = 0;char s[128] = {'\0'};scanf("%d", &n);if (n == 0) s[0] = '0';else {NumToSt(n, s, &i);i = i - 1;};while (i > -1) {printf("%c", s[i]);i--;}}

鞍点

//
// Created by 86184 on 2024/10/16.
//
//鞍点
#include <stdio.h>
int main() {int i, j, k, max = 0, Max, flag = 1;int array[3][3] = {{7, 3, 4},{7, 4, 5},{6, 5, 4}};for (i = 0; i < 3; i++) {for (j = 0; j < 3; j++) {if (array[i][j] > array[i][max])max = j;}Max = array[i][max];for (k = 0; k < 3; k++) {if (Max > array[k][max]) {flag = 0;break;}}printf("%d", flag);if (flag == 1)printf("鞍点为:(%d,%d) : %d", i, max, Max);//归位flag = 1;}return 0;
}

10-28

1-n 中1的个数 同源异形体 矩阵局部最值 直接插入排序

//
// Created by 86184 on 2024/10/28.
//
#include <stdio.h>void Q1();void Q2();void Q3();void Q4();void Q5();int main() {int n = 0;scanf("%d", &n);switch (n) {case 1:Q1();break;case 2:Q2();break;case 3:Q3();break;case 4:Q4();break;case 5:Q5();break;default:break;}return 0;
}
//1 - n 中1的个数
void Q1() {int n = 0, count = 0;scanf("%d", &n);for (int i = 1; i <= n; ++i) {int temp = i;while (temp != 0) {if (temp % 10 == 1) count++;temp /= 10;}}printf("%d中有%d个1", n, count);
}
//同源异形体
void Q2() {int array[128] = {0};int n1 = 0, n2 = 0;scanf("%d%d", &n1, &n2);while (n1 != 0) {array[n1 % 10]++;n1 /= 10;}while (n2 != 0) {array[n2 % 10]--;n2 /= 10;}for (int i = 0; i < 10; ++i) {if (array[i] != 0) {printf("不为异形体");return;}}printf("为异形体");
}
//矩阵局部最值
void Q3() {int array[128][128] = {0};int m = 0, n = 0;int i, j;//m行n列scanf("%d%d", &m, &n);for (i = 0; i < m; i++) {for (j = 0; j < n; j++) {scanf("%d", &array[i][j]);}}for (i = 1; i < m - 1; i++) {for (j = 1; j < n - 1; j++) {if (array[i][j] > array[i][j + 1] && array[i][j] > array[i][j - 1]&& array[i][j] > array[i - 1][j] && array[i][j] > array[i + 1][j])printf("array[%d][%d]= %d", i, j, array[i][j]);}}
}
//直接插入排序
void Q4() {int array[128] = {0};int n = 0;int j, i;scanf("%d", &n);for (int i = 1; i <= n; ++i) {scanf("%d", &array[i]);}for (i = 2; i <= n; ++i) {if (array[i] < array[i - 1]) {array[0] = array[i];for (j = i - 1; array[j] > array[0]; j--) {array[j + 1] = array[j];}array[j + 1] = array[0];}}for (i = 1; i <=n; ++i) {printf("%d ", array[i]);}
}//最大公约数
void Q5() {}

10-29

素数 矩阵移动 整数拆分 数字反转 大公约数 公倍数

//
// Created by 86184 on 2024/10/29.
//
#include <stdio.h>
#include <math.h>#define MAXSIZEvoid Q1();void Q2();void Q3();void Q4();void Q5();int dfs(int cur, int sum, int last);int main() {int n = 0;scanf("%d", &n);switch (n) {case 1:Q1();break;case 2:Q2();break;case 3:Q3();break;case 4:Q4();break;case 5:Q5();break;default:break;}return 0;
}//判断素数
void Q1() {int i, j, flag = 0;for (i = 2; i <= 100; i++) {for (j = 2; j < i; ++j)if (i % j == 0) flag = 1;if (flag != 1)printf("%d ", i);flag = 0;}
}//矩阵移动
/*1 2 3 42 3 4 1*/void Q2() {int array[128][128] = {0};int n = 0;  //数组长度int i, j;scanf("%d", &n);for (i = 0; i < n; ++i) {for (j = 0; j < n && i == 0; ++j)array[i][j] = j + 1;for (j = 0; j < n && i != 0; ++j)//上一行的每个元素向前移动一位array[i][(j - 1 + n) % n] = array[i - 1][j];}for (i = 0; i < n; ++i) {for (j = 0; j < n; ++j) {printf("%d ", array[i][j]);}putchar('\n');}}//整数拆分
int n;          // 待分解的数
int nums[100];  // 存储每个组成部分的数值
int size = 0;       // 当前组成部分的数量
int cnt = 0;        // 分解方案的数量void Q3() {scanf("%d", &n);    // 输入待分解的数nums[0] = 0;        // 初始化组成部分,第一个数为0size = 0;           // 初始化组成部分数量dfs(n, 0, 1);      // 开始分解printf("%d", cnt);  // 输出分解方案数量
}int dfs(int cur, int sum, int last) {if (cur == 0 && sum == n) {cnt++;printf("%d = %d ", n, nums[0]);for (int j = 1; j < size; ++j) {printf("+ %d ", nums[j]);}printf("\n");} else {for (int i = 1; i <= cur; i++) {if (i >= last && sum + i <= n && i < n) {nums[size] = i;size++;dfs(cur - i, sum + i, i);size--;}}}
}//数字反转
void Q4() {int x = 0, n = 0, sum = 0;scanf("%d", &n);while (n > 0) {x = n % 10;n /= 10;sum = sum * 10 + x;}printf("%d", sum);
}//最大公约数 公倍数
void Q5() {int a, b, t, c, m, n;scanf("%d%d", &a, &b);m = a;n = b;if (a < b) {t = b;b = a;a = t;}while (b != 0) {c = a % b;a = b;b = c;}printf("最大公约数为:%d\n", a);printf("最大公倍数为:%d", m * n / a);
}//‌质因数分解‌:
//
//32 = 2 × 2 × 2 × 2 × 2
//40 = 2 × 2 × 2 × 5
//‌求最大公约数‌:
//
//最大公约数是两个数的公有质因数的乘积。在这里,32和40的公有质因数是2、2和2,
//因此最大公约数 = 2 × 2 × 2 = 8‌12。
//‌求最小公倍数‌:
//
//最小公倍数是两个数的所有质因数的乘积,包括独有的质因数。在这里,
//32独有的质因数是2 × 2,40独有的质因数是5,
//因此最小公倍数 = 2 × 2 × 2 × 2 × 2 × 5 = 160‌

10-30

磁盘读写 判断素数 冒泡

//
// Created by 86184 on 2024/10/30.
//
#include <stdio.h>typedef struct Book {char BookName[128];char Editor[32];double Price;char Date[32];int number;
} Book;void Q1();void Q2();void Q3();void Q4();int Q5();int main() {int n = 0;scanf("%d", &n);switch (n) {case 1:Q1();break;case 2:Q2();break;case 3:Q3();break;case 4:Q4();break;case 5:Q5();break;default:break;}return 0;
}
//磁盘读写
void Q1() {FILE *p, *rp;Book data[128];int i, N;scanf("%d", &N);if (((p = fopen("C:\\Users\\86184\\Desktop\\code_22\\test\\in.text", "rb")) == NULL) ||((rp = fopen("C:\\Users\\86184\\Desktop\\code_22\\test\\out.text", "wb")) == NULL)) {printf("Error!");return;}for (i = 0; i < N; ++i) {fread(&data[i], sizeof(data[0]), 1, p);if (data[i].Editor == "HanMeiMei")if (fwrite(&data[i], sizeof(data[0]), 1, rp) != 1)printf("error");printf("%s %s %f %s %d\n",data[i].BookName, data[i].Editor,data[i].Price, data[i].Date, data[i].number);}fclose(p);fclose(rp);
}void Q2() {int array[128] = {1, 9, 5, 4, 2};Q3(array, 5);
}//冒泡排序
void Q3(int array[], int n) {int i, j, flag, temp;for (i = n - 1; i > 0; i--) {flag = 0;for (j = 0; j < i; ++j) {if (array[j + 1] < array[j]) {temp = array[j + 1];array[j + 1] = array[j];array[j] = temp;flag = 1;}}if (flag == 0) break;}for (i = 0; i < n; ++i) {printf("%d ", array[i]);}
}//整数拆分素数
void Q4() {int n, flag = 0;scanf("%d", &n);for (int i = 2; i < n; ++i) {if (Q5(i) == 1)if (Q5(n - i) == 1) {printf("%d = %d + %d\n", n, i, n - i);flag = 1;}}if (flag == 0) printf("不可以拆分为两个素数");
}int Q5(int n) {int isPrime = 1;for (int i = 2; i < n / 2; ++i) {if (n % i == 0) {isPrime = 0;break;}}return isPrime;
}

10-31

字符串排序

//
// Created by 86184 on 2024/10/31.
//
#include <stdio.h>
#include <string.h>
#include <malloc.h>void string_sort(char *s[], int n) {int i, j, min;char *temp;for (i = 0; i < n - 1; ++i) {min = i;for (j = i + 1; j < n; ++j) {if (strcmp(s[min], s[j]) > 0)min = j;}if (min != i) {temp = s[min];s[min] = s[i];s[i] = temp;}}
}void print(char *s[], int n) {for (int i = 0; i < n; ++i) {printf("%s ", s[i]);}
}void Q1() {char *s[128];char S[128];int n = 3;scanf("%d", &n);for (int i = 0; i < n; ++i) {s[i] = (char *) malloc(sizeof(char[128]));scanf("%s", s[i]);}string_sort(s, n);print(s, n);
}
int main() {Q1();return 0;
}

11-1

常用函数

//判断素数
int CheckPrime(int n) {int isPrime = 1;for (int i = 2; i < n / 2; ++i) {if (n % 2 == 0) {isPrime = 0;break;}}return isPrime;
}//第n个斐波那契值
int Fibonacci(int n) {if (n == 1 || n == 2) {return 1;} else {int f1 = 1, f2 = 1, f3;for (int i = 3; i <= n; ++i) {f3 = f1 + f2;f1 = f2;f2 = f3;}return f3;}
}//字符转数字
int CharToNum(char c) {if (c >= 'a' && c <= 'z')return c - 'a' + 1;else if (c >= 'A' && c <= 'Z') {return c - 'A' + 1;} else {return c - '0';}
}//数字转字符
char NumToChar(int n) {if (n >= 0 && n <= 9) {return n + '0';}// 如果 n 是小写字母的 ASCII 值(97-122)else if (n >= 97 && n <= 122) {return n;}// 如果 n 是大写字母的 ASCII 值(65-90)else if (n >= 65 && n <= 90) {return n;}// 其他情况,返回默认值或错误标识符else {return '?'; // 可以选择返回一个特定的错误字符}
}

删除子串

//
// Created by 86184 on 2024/11/1.
//
#include <stdio.h>
#include <string.h>int Index(char s[], char t[]) {int i = 0, j = 0;int l1 = strlen(s);int l2 = strlen(t);while (i < l1 && j < l2) {if (s[i] == t[j]) {i++;j++;} else {i = i - j + 1;j = 0;}}if (j >= l2) return i - j;else return -1;
}void delete(char s[], int index, int lt) {while (lt > 0) {for (int i = index; i < strlen(s); ++i) {s[i] = s[i + 1];}lt--;}
}
//a b c d
//0 1 2 3
//a c d
//a d
//b cint main() {char s[128] = "Tomcat is a male ccatat";char t[] = "cat";int index = 0;index = Index(s, t);while (1) {if (index == -1) break;
//        printf("%d\n", index);delete(s, index, strlen(t));printf("%s ", s);index = Index(s, t);}return 0;
}
//3
//Tom is a male ccatat 15
//Tom is a male cat 14
//Tom is a male

11-3

扑克牌

//
// Created by 86184 on 2024/11/3.
//
#include <stdio.h>
#include <stdlib.h>typedef struct Card {int type; //0--红桃 1--方砖 2--黑桃 3--梅花 4--小王 5--大王int point;//1--12 小王--13 大王--14
} Card;int Compare(struct Card c1, struct Card c2) {if (c1.point > c2.point) return 1;else if (c1.point < c2.point) return -1;else {if (c1.type > c2.type) return 1;elsereturn -1;}
}void Swap(struct Card *c1, struct Card *c2) {Card temp;temp = *c1;*c1 = *c2;*c2 = temp;
}void Sort(struct Card c[], int n) {int flag = 0;for (int i = n - 1; i > 0; i--) {flag = 1;for (int j = 0; j < i; j++) {if (Compare(c[j], c[j + 1]) == 1) {Swap(&c[j], &c[j + 1]);flag = 0;}}if (flag == 1) break;}
}void Print(struct Card c[], int n) {for (int i = 0; i < n; ++i) {char *type = (char *) malloc(sizeof(char) * 128);switch (c[i].type) {case 0:type = "红桃";break;case 1:type = "方砖";break;case 2:type = "黑桃";break;case 3:type = "梅花";break;case 4:type = "小王";break;case 5:type = "大王";break;}if (c[i].point == 13)printf("%s\n", "小王");else if (c[i].point == 14)printf("%s\n", "大王");elseprintf("%s:%d\n", type, c[i].point);}
}int main() {struct Card c[128] = {{1, 1},{2, 10},{2, 6},{3, 6},{4, 13},{4, 14}};Sort(c, 6);Print(c, 6);return 0;
}

奇偶交替

//
// Created by 86184 on 2024/11/3.
//
#include <stdio.h>void JudgeNum(int n) {int flag = 1;//2321//12321int temp = n;while (temp > 10) {if (temp % 10 == temp / 10 % 10) {flag = 0;break;}temp /= 10;}if (flag == 1) printf("%d是奇偶交替数!\n", n);if (flag == 0) printf("%d不是奇偶交替数!\n", n);
}int main() {JudgeNum(12321);JudgeNum(2321);JudgeNum(232);JudgeNum(22);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464478.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:AVL树

目录 AVL树概念 AVL树的实现 AVL树的节点 AVL树的插入 AVL树的平衡调整 右单旋 左单旋 左右双旋 右左双旋 完整的插入函数 AVL树的查找 AVL树的验证 验证有序 验证平衡 完整代码 AVL树概念 AVL树是一种具有特殊性质的二叉搜索树&#xff0c;AVL树的左右子树也都…

Nginx线程模型

Nginx的线程模型具有其独特的设计特点&#xff0c;主要基于多进程和异步非阻塞的处理机制。以下是对Nginx线程模型的详细解析&#xff1a; 一、多进程模型 Nginx采用的是多进程模型&#xff0c;而非多线程模型。在这种模型中&#xff0c;Nginx会启动一个master进程和多个work…

【HTML】——VSCode 基本使用入门和常见操作

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 零&#xff1a;HTML开发工具VSCode的使用 1&#xff1a;创建项目 2&#xff1a;创建格式模板&#x…

【C/C++】【三种方法】模拟实现strlen

学习目标&#xff1a; 使用代码模拟实现strlen。 逻辑&#xff1a; strlen 需要输入一个字符串数组类型的变量&#xff0c;并且返回一个整型类型的数据。strlen 需要计算字符串数组有多少个元素。 代码1&#xff1a;使用计数器 #define _CRT_SECURE_NO_WARNINGS 1 #include&…

【双指针】【数之和】 LeetCode 633.平方数之和

算法思想&#xff1a; 双指针枚举i,j&#xff1b;类似三数之和 class Solution { public:bool judgeSquareSum(int c) {long long sum0;vector<int> dp;dp.push_back(0);long long start1;while(sum < c){sum start *start;if(sum>c) break;else dp.push_back(…

HarmonyOS Next星河版笔记--界面开发(3)

属性 1.1.设计资源-svg图标 需求&#xff1a;界面中展示图标→可以使用的svg图标(任意放大缩小不失真、可以改变颜色) 使用方式&#xff1a; ①设计师提供&#xff1a;基于项目的图标&#xff0c;拷贝到项目目录使用 Image($r(app.media.ic_dianpu)) .width(40) fillColor…

解决方案 | 部署更快,自动化程度高!TOSUN同星线控底盘解决方案

Tosun——线控底盘解决方案 在汽车智能化和电动化进程中&#xff0c;智能线控底盘相关的核心技术和产品成为了新能源汽车及智能驾驶产业的重点发展方向。同星智能作为行业先行者&#xff0c;精研汽车电子行业整体解决方案&#xff0c;提供基于TSMaster的底盘HIL仿真测试解决方…

分布式光伏管理办法

随着分布式光伏项目的不断增加&#xff0c;传统的管理方式已经难以满足高效、精准的管理需求。光伏业务管理系统作为一种集信息化、智能化于一体的管理工具&#xff0c;正在逐步成为分布式光伏项目管理的重要支撑。 光伏业务管理系统通过数字化手段实现对光伏业务全流程的精细化…

细腻的链接:C++ list 之美的解读

细腻的链接&#xff1a;C list 之美的解读 前言&#xff1a; 小编在前几日刚写过关于vector容器的内容&#xff0c;现在小编list容器也学了一大部分了&#xff0c;小编先提前说一下学这部分的感悟&#xff0c;这个部分是我学C以来第一次感到有难度的地方&#xff0c;特别是在…

文件操作案例

文件操作&#xff08;帮助小学生控诉妈妈&#xff09;:###无任何不良指导###

基于 RNN 的语言模型

基于 RNN 的语言模型 循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;是一类网络连接中包含环路的 神经网络的总称。 给定一个序列&#xff0c;RNN 的环路用于将历史状态叠加到当前状态上。沿着时间维度&#xff0c;历史状态被循环累积&#xff0c;并作为…

嵌入式硬件工程师的职业发展规划

嵌入式硬件工程师可以按照以下阶段进行职业发展规划&#xff1a; 1. **初级阶段&#xff08;1-3 年&#xff09; ** - **技术学习与积累**&#xff1a; **电路基础强化**&#xff1a; 深入学习模拟电路和数字电路知识&#xff0c;能够熟练分析和设计基本的电路&#xff0c;…

C#:强大而优雅的编程语言

在当今的软件开发领域&#xff0c;C#作为一种广泛应用的编程语言&#xff0c;以其强大的功能、优雅的语法和丰富的生态系统&#xff0c;受到了众多开发者的喜爱。本文将深入探讨 C#的各个方面&#xff0c;展示它的魅力和优势。 一、C#的历史与发展 C#是由微软公司开发的一种面…

时间序列预测(十八)——实现配置管理和扩展命令行参数解析器

如图&#xff0c;这是一个main,py文件&#xff0c;在此代码中&#xff0c;最开始定义了许多模型参数&#xff0c;为了使项目更加灵活和可扩展&#xff0c;便于根据不同的需求调整参数和配置&#xff0c;可以根据实际需要扩展参数和配置项。 下面是如何实现配置管理和扩展命令行…

影刀RPA实战:嵌入python,如虎添翼

1. 影刀RPA与Python的关系 影刀RPA与Python的关系可以从以下几个方面来理解&#xff1a; 技术互补&#xff1a;影刀RPA是一种自动化工具&#xff0c;它允许用户通过图形化界面创建自动化流程&#xff0c;而Python是一种编程语言&#xff0c;常用于编写自动化脚本。影刀RPA可以…

GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)

前言 上个月的24年10.9日&#xff0c;我在朋友圈看到字节发了个机器人大模型GR2&#xff0c;立马去看了下其论文(当然了&#xff0c;本质是个技术报告) 那天之后&#xff0c;我就一直想解读这个GR2来着 然&#xff0c;意外来了&#xff0c;如此文《OmniH2O——通用灵巧且可全…

Hive自定义函数—剔除周日周六(小时级别)

&#x1f431;背景&#x1f34e; Hello&#xff0c;小伙伴们&#xff0c;许久不见&#xff0c;最近遇到一个需求场景&#xff0c;关于物流时差的计算&#xff0c;要求算出差值是小时&#xff0c;且要剔除周日周六&#xff0c;网上很多文章&#xff0c;最好的也就是按照天剔除周…

C++中的继承——第二篇

一、继承与友元 友元关系不能够继承&#xff08;就像父亲的朋友不一定是自己的朋友&#xff09; 具体实现起来就是父类的友元可以访问父类的成员&#xff0c;但是不可以访问子类的成员 二、继承与静态成员 子类的静态成员变量本质上与父类的是同一份&#xff0c;存储在静态…

02多线程基础知识

目录 1. 线程与进程 进程&#xff08;Process&#xff09; 线程&#xff08;Thread&#xff09; 2. 并发和并行 并发&#xff08;Concurrency&#xff09; 并行&#xff08;Parallelism&#xff09; 3. CPU 调度 定义 类型 调度算法 上下文切换 4.线程间的状态流转…

基于SpringBoot+Gpt个人健康管家管理系统【提供源码+答辩PPT+参考文档+项目部署】

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…