当前位置: 首页 > news >正文

C语言经典案例-菜鸟经典案例

1.输入某年某月某日,判断这一天是这一年的第几天?

//输入某年某月某日,判断这一天是这一年的第几天?
#include <stdio.h>int isLeapYear(int year) {// 闰年的判断规则:能被4整除且(不能被100整除或能被400整除)if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {return 1;}return 0;
}int main() {int year, month, day;int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int totalDays = 0;printf("请输入年份、月份和日期(格式:年 月 日):");scanf("%d %d %d", &year, &month, &day);// 判断是否是闰年if (isLeapYear(year)) {daysInMonth[1] = 29; // 闰年2月有29天}// 计算从1月1日到输入日期的天数for (int i = 0; i < month - 1; i++) {totalDays += daysInMonth[i];}totalDays += day; // 加上当前月份的天数printf("%d年%d月%d日是该年的第%d天\n", year, month, day, totalDays);return 0;
}

2.一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

#include <stdio.h>
#include <math.h>
int main()
{int i,x,y;for(i=0;i<=10000;i++){x=(int)sqrt(i+100);//注意强制类型转换y=(int)sqrt(i+168);if((x*x==i+100)&&(y*y==i+168))//注意要加100,168{printf("%d是平方数",i);break;}}
} 

3.输入三个整数 x、y、z,请把这三个数由小到大输出。

#include <stdio.h>int main()
{int x,y,z,t;printf("\n请输入三个数字:\n");scanf("%d%d%d",&x,&y,&z);if ( x>y ) { /*交换x,y的值*/t=x; x=y; y=t;}if ( x>z ) { /*交换x,z的值*/t=z; z=x; x=t;}if ( y>z ) { /*交换z,y的值*/t=y; y=z; z=t;}printf("从小到大排序: %d %d %d\n",x,y,z);
}

4.输出 9*9 口诀

#include <stdio.h>int main() {int i, j, result;printf("\n");for (i = 1; i < 10; i++) {for (j = 1; j <= i; j++) {result = i * j;printf("%d*%d=%-3d", i, j, result); /* -3d表示左对齐,占3位 */}printf("\n"); /* 每一行后换行 */}return 0;
}

5.古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个月即可)

#include <stdio.h>int main() {// 定义变量存储每个月的兔子对数unsigned long long int first = 1, second = 1, next;// 输出第一个月和第二个月的兔子对数printf("第1个月: %llu 对兔子\n", first);printf("第2个月: %llu 对兔子\n", second);// 计算并输出第3个月到第40个月的兔子对数for (int month = 3; month <= 40; month++) {next = first + second; // 当前月的兔子对数为前两个月之和printf("第%d个月: %llu 对兔子\n", month, next);// 更新下一个月的计算值first = second;second = next;}return 0;
}

6.判断 101 到 200 之间的素数

#include <stdio.h>int main()
{int i,j;int count=0;for (i=101; i<=200; i++) {for (j=2; j<i; j++) {// 如果 j 能被 i 整除再跳出循环if (i%j==0) break;}// 判断循环是否提前跳出,如果 j<i 说明在 2~j 之间,i 有可整除的数if (j>=i) {count++;printf("%d ",i);// 换行,用 count 计数,每五个数换行if (count % 5 == 0) printf("\n");}}    return 0;
}

7.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

#include <stdio.h>int main() {int i, x, y, z;// 遍历 100 到 999 的数字for (i = 100; i < 1000; i++) {// 计算各位数字x = i % 10;             // 个位y = (i / 10) % 10;      // 十位z = (i / 100) % 10;     // 百位// 计算立方和int sum = x * x * x + y * y * y + z * z * z;// 判断是否为水仙花数if (i == sum) {printf("%d\n", i);}}return 0;
}

8.将一个正整数分解质因数。

#include<stdio.h>
int main()
{int n,i;printf("请输入整数:");scanf("%d",&n);printf("%d=",n);for(i=2;i<=n;i++){while(n%i==0){printf("%d",i);n/=i;if(n!=1) printf("*");}}printf("\n");return 0;
}

9.利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

#include<stdio.h>
int main()
{int score;char grade;printf("请输入分数: ");scanf("%d",&score);grade=(score>=90)?'A':((score>=60)?'B':'C');printf("%c\n",grade);return 0;
}

10.最大公约数和最小公倍数
(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;

(2)求最大公约数用辗转相除法(又名欧几里德算法)

#include<stdio.h>
int main()
{int a,b,t,r,n;printf("请输入两个数字:\n");scanf("%d %d",&a,&b);if(a<b){t=b;b=a;a=t;}r=a%b;n=a*b;while(r!=0){a=b;b=r;r=a%b;}printf("这两个数的最大公约数是%d,最小公倍数是%d\n",b,n/b);return 0;
}

11.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include <stdio.h>int main() {char c;int letterCount = 0, spaceCount = 0, digitCount = 0, otherCount = 0;printf("请输入一些字符:\n");while ((c = getchar()) != '\n') {if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {letterCount++;} else if (c >= '0' && c <= '9') {digitCount++;} else if (c == ' ') {spaceCount++;} else {otherCount++;}}printf("字母 = %d, 数字 = %d, 空格 = %d, 其他 = %d\n", letterCount, digitCount, spaceCount, otherCount);return 0;
}

12.求 s=a+aa+aaa+aaaa+aa…a 的值,其中 a 是一个数字,例如 2+22+222+2222+22222 (此时共有5个数相加),几个数相加有键盘控制。

#include <stdio.h>
#include <string.h>int main() {int a, n;long long sum = 0; // 使用 long long 类型来存储较大的和// 获取用户输入printf("请输入数字 a: ");scanf("%d", &a);printf("请输入相加项的数量 n: ");scanf("%d", &n);// 初始化变量long long currentNumber = 0;// 循环生成并累加每个项for (int i = 1; i <= n; i++) {currentNumber = currentNumber * 10 + a; // 构造当前项sum += currentNumber; // 累加到总和中}// 输出结果printf("结果是: %lld\n", sum);return 0;
}

13.一个数如果恰好等于它的因子之和,这个数就称为"完数",例如 6=1+2+3 ,请编程找出 1000 以内的所有完数。

#include <stdio.h>int main() {printf("1000以内的所有完数是:\n");// 遍历从1到1000的每一个整数for (int num = 1; num <= 1000; num++) {int sum = 0;// 计算num的所有因子(不包括自身)for (int i = 1; i <= num / 2; i++) {if (num % i == 0) {sum += i;}}// 判断因子之和是否等于原数if (sum == num) {// 打印完数及其因子printf("%d: ", num);for (int i = 1; i <= num / 2; i++) {if (num % i == 0) {printf("%d ", i);}}printf("\n");}}return 0;
}

14.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

#include <stdio.h>#define INITIAL_HEIGHT 100.0
#define BOUNCE_COUNT 10int main()
{double h = INITIAL_HEIGHT;double s = INITIAL_HEIGHT;// 第一次反弹高度h /= 2;// 计算后续反弹高度和总路程for (int i = 2; i <= BOUNCE_COUNT; i++) {s += 2 * h;h /= 2;}// 输出结果,指定小数位数为2位printf("第%d次落地时,共经过%.5f米,第%d次反弹高%.5f米\n", BOUNCE_COUNT, s, BOUNCE_COUNT, h);return 0;
}

15.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

//第10天早上:剩1个桃子。
//第9天早上:设第9天早上剩下的桃子数为 x,则第10天早上剩下的桃子数为 (x / 2) - 1 = 1。x=(1+1)×2=4
#include <stdio.h>int main() {int day = 10; // 第10天早上剩1个桃子int peaches = 1; // 第10天早上剩下的桃子数// 从第10天倒推到第1天for (int i = day; i > 1; i--) {peaches = (peaches + 1) * 2;}printf("第一天共摘了 %d 个桃子。\n", peaches);return 0;
}

16.两个乒乓球队进行比赛,各出三人,甲队为 a、b、c 三人,乙队为 x、y、z 三人。
抽签决定比赛名单,有人向队员打听比赛的名单:a 说他不和 x 比,c 说他不和 x、z 比,请编写代码找出三队赛手的名单。

#include <stdio.h>int main() {char teamA[3] = {'a', 'b', 'c'};char teamB[3] = {'x', 'y', 'z'};// 穷举所有可能的比赛组合for (int a_match = 0; a_match < 3; a_match++) {for (int b_match = 0; b_match < 3; b_match++) {for (int c_match = 0; c_match < 3; c_match++) {// 检查是否有重复的比赛对手if (a_match != b_match && b_match != c_match && a_match != c_match) {// 检查条件是否满足if (a_match != 0 && c_match != 0 && c_match != 2) { // a不和x比,c不和x、z比printf("比赛名单:\n");printf("a 对阵 %c\n", teamB[a_match]);printf("b 对阵 %c\n", teamB[b_match]);printf("c 对阵 %c\n", teamB[c_match]);printf("\n");}}}}}return 0;
}
//   *
//  ***
// *****
//*******
// *****
//  ***//  *
#include <stdio.h>
int main()
{int i,j,k;for(i=0;i<=3;i++) {for(j=0;j<=2-i;j++) {printf(" ");}for(k=0;k<=2*i;k++) {printf("*");}printf("\n");}for(i=0;i<=2;i++) {for(j=0;j<=i;j++) {printf(" ");}for(k=0;k<=4-2*i;k++) {printf("*");}printf("\n");}}

18.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

#include <stdio.h>int main()
{int i,t;float sum=0;float a=2,b=1;for(i=1;i<=20;i++){sum=sum+a/b;t=a;a=a+b;b=t;}printf("%9.6f\n",sum);  
}

19.求 1 + 2! + 3! + … + 20! 的和。

#include <stdio.h>// 计算阶乘的函数
unsigned long long factorial(int n) {unsigned long long result = 1;for(int i = 1; i <= n; i++) {result *= i;}return result;
}int main() {unsigned long long sum = 0;// 计算1 + 2! + 3! + ... + 20!for(int i = 1; i <= 20; i++) {sum += factorial(i);}// 输出结果printf("1 + 2! + 3! + ... + 20!的和是: %llu\n", sum);return 0;
}

20.利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

#include <stdio.h>// 递归函数声明
void print_reverse(char *chars, int index);int main() {char chars[6]; // 存储5个字符及结尾的空字符// 输入5个字符printf("请输入5个字符: ");for (int i = 0; i < 5; i++) {scanf(" %c", &chars[i]);}chars[5] = '\0'; // 确保字符串以空字符结尾// 调用递归函数print_reverse(chars, 0);return 0;
}// 递归函数定义
void print_reverse(char *chars, int index) {// 递归终止条件:到达字符串末尾if (chars[index] == '\0') {return;}// 递归调用处理下一个字符print_reverse(chars, index + 1);// 在递归返回时打印当前字符if (index < 5) { // 确保只打印实际输入的字符printf("%c", chars[index]);}
}

21.有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

#include <stdio.h>int age(n)
int n;
{int c;if(n==1) c=10;else c=age(n-1)+2;return(c);
}
int main()
{printf("%d\n",age(5));
}

22.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

#include <stdio.h>int main( )
{long a,b,c,d,e,x;printf("请输入 5 位数字:");scanf("%ld",&x);a=x/10000;        /*分解出万位*/b=x%10000/1000;   /*分解出千位*/c=x%1000/100;     /*分解出百位*/d=x%100/10;       /*分解出十位*/e=x%10;           /*分解出个位*/if (a!=0){printf("为 5 位数,逆序为: %ld %ld %ld %ld %ld\n",e,d,c,b,a);} else if(b!=0) {printf("为 4 位数,逆序为: %ld %ld %ld %ld\n",e,d,c,b);} else if(c!=0) {printf("为 3 位数,逆序为:%ld %ld %ld\n",e,d,c);} else if(d!=0) {printf("为 2 位数,逆序为: %ld %ld\n",e,d);} else if(e!=0) {printf("为 1 位数,逆序为:%ld\n",e);}
}

23.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

#include <stdio.h>int main( )
{long ge,shi,qian,wan,x;printf("请输入 5 位数字:");scanf("%ld",&x);wan=x/10000;        /*分解出万位*/qian=x%10000/1000;  /*分解出千位*/shi=x%100/10;       /*分解出十位*/ge=x%10;            /*分解出个位*/if (ge==wan&&shi==qian) { /*个位等于万位并且十位等于千位*/printf("这是回文数\n");} else {printf("这不是回文数\n");}
}

24.请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

#include<stdio.h>int main()
{char i,j;printf("请输入第一个字母:\n");scanf("%c",&i);getchar();//scanf("%c",&j);的问题,第二次是读入的一个换行符,而不是输入的字符,因此需要加一个getchar() 吃掉换行符switch(i){case 'm':printf("monday\n");break;case 'w':printf("wednesday\n");break;case 'f':printf("friday\n");break;case 't':printf("请输入下一个字母\n");scanf("%c",&j);if (j=='u') {printf("tuesday\n");break;}if (j=='h') {printf("thursday\n");break;}case 's':printf("请输入下一个字母\n");scanf("%c",&j);if (j=='a') {printf("saturday\n");break;}if (j=='u') {printf("sunday\n"); break;}default :printf("error\n"); break;}return 0;
}

25.删除一个字符串中的指定字母,如:字符串 “aca”,删除其中的 a 字母。

#include <stdio.h>
#include <string.h>// 函数声明
void remove_char(char *str, char ch);int main() {char str[100]; // 假设最大长度为100char ch;// 输入字符串和要删除的字符printf("请输入一个字符串: ");scanf("%s", str);printf("请输入要删除的字符: ");scanf(" %c", &ch); // 注意前面有一个空格以忽略前一个输入的换行符// 调用函数删除指定字符remove_char(str, ch);// 输出结果printf("删除后的字符串: %s\n", str);return 0;
}// 删除字符串中的指定字符
void remove_char(char *str, char ch) {int i, j = 0;int len = strlen(str);// 遍历字符串并构建新字符串for (i = 0; i < len; i++) {if (str[i] != ch) {str[j++] = str[i];}}// 添加字符串结束符str[j] = '\0';
}

26.判断一个数字是否为质数。

#include <stdio.h>
#include <math.h>// 函数声明
int is_prime(int num);int main() {int num;// 输入要检查的数字printf("请输入一个数字: ");scanf("%d", &num);// 判断并输出结果if (is_prime(num)) {printf("%d 是质数。\n", num);} else {printf("%d 不是质数。\n", num);}return 0;
}// 判断一个数字是否为质数的函数
int is_prime(int num) {// 小于2的数字不是质数if (num < 2) {return 0;}// 检查从2到sqrt(num)的所有整数for (int i = 2; i <= sqrt(num); i++) {if (num % i == 0) {return 0; // 找到因子,不是质数}}return 1; // 没有找到因子,是质数
}

27.对10个数进行排序(选择)。

#include <stdio.h>#define N 10void selectionSort(int arr[], int n) {int i, j, minIndex, temp;for (i = 0; i < n - 1; i++) {minIndex = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[minIndex]) {minIndex = j;}}if (minIndex != i) {// Swap the elementstemp = arr[i];arr[i] = arr[minIndex];arr[minIndex] = temp;}}
}int main() {int arr[N];printf("请输入 %d 个数字:\n", N);for (int i = 0; i < N; i++) {scanf("%d", &arr[i]);}selectionSort(arr, N);printf("排序结果是:\n");for (int i = 0; i < N; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}

28.对10个数进行排序(冒泡)

#include <stdio.h>// 函数声明
void bubble_sort(int arr[], int n);int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90};int n = sizeof(arr) / sizeof(arr[0]);printf("原始数组: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");// 调用冒泡排序函数bubble_sort(arr, n);printf("排序后的数组: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;
}// 冒泡排序函数定义
void bubble_sort(int arr[], int n) {int i, j;int swapped;for (i = 0; i < n - 1; i++) {swapped = 0;// 每次遍历内层循环都会把当前最大的未排序元素移动到正确位置for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {// 交换元素int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;swapped = 1;}}// 如果在某一轮遍历中没有发生任何交换,说明数组已经有序if (!swapped) {break;}}
}

29.逆序输出字符串

#include <stdio.h>
#include <string.h>void reverse_print(const char *str) {int length = strlen(str);for (int i = length - 1; i >= 0; i--) {printf("%c", str[i]);}printf("\n");
}int main() {char str[100];// 输入字符串printf("请输入一个字符串: ");scanf("%99s", str); // 注意防止缓冲区溢出// 调用函数逆序输出字符串reverse_print(str);return 0;
}

相关文章:

C语言经典案例-菜鸟经典案例

1.输入某年某月某日&#xff0c;判断这一天是这一年的第几天&#xff1f; //输入某年某月某日&#xff0c;判断这一天是这一年的第几天&#xff1f; #include <stdio.h>int isLeapYear(int year) {// 闰年的判断规则&#xff1a;能被4整除且&#xff08;不能被100整除或…...

SpringBoot过滤器(Filter)的使用:Filter接口、FilterRegistrationBean类配置、@WebFilter注释

1、过滤器(Filter)的介绍 Spring Boot 的过滤器用于对数据进行过滤处理。通过 Spring Boot 的过滤器,程序开发人员不仅可以对用户通过 URL 地址发送的请求进行过滤处理(例如:过滤一些错误的请求或者请求中的敏感词等),而且可以对服务器返回的数据进行过滤处理(例如:压…...

采用内存局部性分配有什么好处?

内存分配时的局部性分配&#xff08;Locality of Allocation&#xff09;是指将相关的内存对象分配在相邻或相近的内存区域中。这种分配策略在现代计算机系统中具有显著的好处&#xff0c;主要体现在以下几个方面&#xff1a; 1. 提高缓存命中率 现代计算机系统依赖于多级缓存…...

一周热点-OpenAI 推出了 GPT-4.5,这可能是其最后一个非推理模型

在人工智能领域,大型语言模型一直是研究的热点。OpenAI 的 GPT 系列模型在自然语言处理方面取得了显著成就。GPT-4.5 是 OpenAI 在这一领域的又一力作,它在多个方面进行了升级和优化。 1 新模型的出现 GPT-4.5 目前作为研究预览版发布。与 OpenAI 最近的 o1 和 o3 模型不同,…...

分布式ETCD面试题及参考答案

目录 ETCD 适用的六大场景及其实现原理 ETCD 与 Redis 在分布式锁实现上的差异 解释 ETCD 的 Watch 机制及其应用场景 ETCD 如何实现服务发现?与 ZooKeeper 有何不同? ETCD 实现服务发现的方式 与 ZooKeeper 的不同 ETCD 的键值存储模型支持哪些操作? 为什么 ETCD 适…...

MySQL进阶-关联查询优化

采用左外连接 下面开始 EXPLAIN 分析 EXPLAIN SELECT SQL_NO_CACHE * FROM type LEFT JOIN book ON type.card book.card; 结论&#xff1a;type 有All ,代表着全表扫描&#xff0c;效率较差 添加索引优化 ALTER TABLE book ADD INDEX Y ( card); #【被驱动表】&#xff0…...

ESP32驱动OV3660摄像头实现EdgeImpulse图像识别(摄像头支持红外夜视、边缘AI计算)

目录 1、传感器特性 2、硬件原理图 3、驱动程序 ESP32-S3 AI智能摄像头模块是一款专为智能家居和物联网应用打造的高性能边缘AI开发模组。它集成了摄像头、麦克风、音频功放、环境光传感器和夜视补光灯,无需依赖云端即可实现本地化AI推理。 凭借TensorFlow Lite、YOLO和O…...

SpringSecurity认证授权完整流程

SpringSecurity认证流程&#xff1a;loadUserByUsername&#xff08;&#xff09;方法内部实现。 实现步骤&#xff1a; 构建一个自定义的service接口&#xff0c;实现SpringSecurity的UserDetailService接口。建一个service实现类&#xff0c;实现此loadUserByUsername方法。…...

java_了解反射机制

目录 1. 定义 2. 用途 3. 反射基本信息 4. 反射相关的类 4.1 class类&#xff08;反射机制的起源&#xff09; 4.1.1 Class类中的相关方法&#xff08;方法的具体使用在后面的示例中&#xff09; 4.2 反射的示例 4.2.1 获得Class对象的三种方式 4.2.2 反射的使用 Fiel…...

【赵渝强老师】管理MongoDB的运行

MongoDB提供了mongod命令用于启动MongoDB服务器端&#xff1b;而停止MongoDB服务器却可以通过几种不同的方式完成。下面分别进行介绍。 一、【实战】启动MongoDB服务器 通过执行下面的语句可以查看启动MongoDB服务器的帮助信息&#xff1a; mongod --help# 输出的信息如下&a…...

【学习思维模型】

学习思维模型 一、理解类模型二、记忆类模型三、解决问题类模型四、结构化学习模型五、效率与习惯类模型六、高阶思维模型七、实践建议八、新增学习思维模型**1. 波利亚问题解决四步法****2. 主动回忆(Active Recall)****3. 鱼骨图(因果图/Ishikawa Diagram)****4. MECE原则…...

阿里发布新开源视频生成模型Wan-Video,支持文生图和图生图,最低6G就能跑,ComFyUI可用!

Wan-Video 模型介绍&#xff1a;包括 Wan-Video-1.3B-T2V 和 Wan-Video-14B-T2V 两个版本&#xff0c;分别支持文本到视频&#xff08;T2V&#xff09;和图像到视频&#xff08;I2V&#xff09;生成。14B 版本需要更高的 VRAM 配置。 Wan2.1 是一套全面开放的视频基础模型&…...

安孚科技携手政府产业基金、高能时代发力固态电池,开辟南孚电池发展新赛道

安孚科技出手&#xff0c;发力固态电池。 3月7日晚间&#xff0c;安孚科技&#xff08;603031.SH&#xff09;发布公告称&#xff0c;公司控股子公司南孚电池拟与南平市绿色产业投资基金有限公司&#xff08;下称“南平绿色产业基金”&#xff09;、高能时代&#xff08;广东横…...

moodle 开源的在线学习管理系统(LMS)部署

一、Moodle 简介 Moodle&#xff08;Modular Object-Oriented Dynamic Learning Environment&#xff09;是一个开源的在线学习管理系统&#xff08;LMS&#xff09;&#xff0c;广泛应用于教育机构和企业培训。其核心功能包括课程管理、作业提交、在线测试、论坛互动和成绩跟…...

设备树的概念

可以理解为设备树的树干是系统总线&#xff0c;树枝上面是其他的不同的通信协议线。对于不同通信协议的设备挂载在对应的节点即可 在设备树出现以前&#xff0c;所有关于设备的具体信息都要写在驱动里&#xff0c;一旦外围设备变化&#xff0c;驱动代码就要重写。 ​ 引入了设…...

【ArcGIS】地理坐标系

文章目录 一、坐标系理论体系深度解析1.1 地球形态的数学表达演进史1.1.1 地球曲率的认知变化1.1.2 参考椭球体参数对比表 1.2 地理坐标系的三维密码1.2.1 经纬度的本质1.2.2 大地基准面&#xff08;Datum&#xff09;的奥秘 1.3 投影坐标系&#xff1a;平面世界的诞生1.3.1 投…...

MATLAB控制函数测试要点剖析

一、功能准确性检验 基础功能核验 针对常用控制函数&#xff0c;像用于传递函数建模的 tf 、构建状态空间模型的 ss &#xff0c;以及开展阶跃响应分析的 step 等&#xff0c;必须确认其能精准执行基础操作。以 tf 函数为例&#xff0c;在输入分子与分母系数后&#xff0c;理…...

如何让一个类作为可调用对象被thread调用?

如何让一个类作为可调用对象&#xff0c;被 std::thread 调用 在 C 中&#xff0c;可以让一个类对象作为可调用对象&#xff08;Callable Object&#xff09;&#xff0c;然后用 std::thread 进行调用。要实现这一点&#xff0c;主要有三种方法&#xff1a; 重载 operator()&…...

OpenWrt 串口终端常用命令---拓展篇

以下进一步拓展 OpenWrt 串口终端常用命令,新增更多高级操作与场景化工具,助你深入掌握系统管理与调试技巧: 一、系统信息与状态查询(扩展) 硬件详细探测 cat /proc/mtd # 查看 Flash 分区表(MTD 设备) mtd info # 显示 MTD 分…...

线上接口tp99突然升高如何排查?

当线上接口的 TP99 突然升高时&#xff0c;意味着该接口在 99% 的情况下响应时间变长&#xff0c;这可能会严重影响系统的性能和用户体验。可以按照下面的步骤进行排查。这里我们先说明一下如何计算tp99&#xff1a;监控系统计算 TP99&#xff08;第 99 百分位数的响应时间&…...

如何借助人工智能AI模型开发一个类似OpenAI Operator的智能体实现电脑自动化操作?

这几天关于Manus的新闻铺天盖地&#xff0c;于是研究了一下AI智能体的实现思路&#xff0c;发现Openai 的OpenAI Operator智能体已经实现了很强的功能&#xff0c;但是每月200美金的价格高不可攀&#xff0c;而Manus的邀请码据说炒到了几万块&#xff01;就想能不能求助人工智能…...

langchain系列(终)- LangGraph 多智能体详解

目录 一、导读 二、概念原理 1、智能体 2、多智能体 3、智能体弊端 4、多智能体优点 5、多智能体架构 6、交接&#xff08;Handoffs&#xff09; 7、架构说明 &#xff08;1&#xff09;网络 &#xff08;2&#xff09;监督者 &#xff08;3&#xff09;监督者&…...

springboot旅游管理系统设计与实现(代码+数据库+LW)

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本旅游管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助使用者在短时间内处理完毕庞大的数据信息&a…...

【前端跨域】WebSocket如何实现跨域通信?原理、实践与安全指南

在实时通信场景&#xff08;如在线聊天、实时数据推送&#xff09;中&#xff0c;WebSocket因其高效的双向通信能力成为首选技术 然而&#xff0c;当客户端与服务器部署在不同源时&#xff0c;跨域问题同样可能阻碍WebSocket的连接 一、WebSocket与跨域的关系 WebSocket的跨…...

Go红队开发—格式导出

文章目录 输出功能CSV输出CSV 转 结构体结构体 转 CSV端口扫描结果使用CSV格式导出 HTML输出Sqlite输出nmap扫描 JSONmap转json结构体转jsonjson写入文件json编解码json转结构体json转mapjson转string练习&#xff1a;nmap扫描结果导出json格式 输出功能 在我们使用安全工具的…...

Sharp 存在任意文件读取漏洞( DVB-2025-8923)

免责声明 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x01…...

C++数组,链表,二叉树的内存排列是什么样的,结构体占多大内存如何计算,类占多大内存如何计算,空类的空间是多少,为什么?

C数组是连续存储的&#xff0c;C数组元素依次存放在相邻的内存地址之中&#xff0c;并且内存大小相同。 C链表是离散存储的&#xff0c;C链表是由节点构成的&#xff0c;每个节点之中存在节点的值以及指向下一个节点的指针&#xff0c;每个节点是动态分配的。 C二叉树也是离散…...

【vLLM 教程】使用 TPU 安装

vLLM 是一款专为大语言模型推理加速而设计的框架&#xff0c;实现了 KV 缓存内存几乎零浪费&#xff0c;解决了内存管理瓶颈问题。 更多 vLLM 中文文档及教程可访问 →https://vllm.hyper.ai/ vLLM 使用 PyTorch XLA 支持 Google Cloud TPU。 依赖环境​ Google Cloud TPU …...

【RAG】基于向量检索的 RAG (BGE示例)

RAG机器人 结构体 文本向量化: 使用 BGE 模型将文档和查询编码为向量。 &#xff08;BGE 是专为检索任务优化的开源 Embedding 模型&#xff0c;除了本文API调用&#xff0c;也可以通过Hugging Face 本地部署BGE 开源模型&#xff09; 向量检索: 从数据库中找到与查询相关的文…...

【RAG】RAG 系统的基本搭建流程(ES关键词检索示例)

RAG 系统的基本搭建流程 搭建过程&#xff1a; 文档加载&#xff0c;并按一定条件切割成片段将切割的文本片段灌入检索引擎封装检索接口构建调用流程&#xff1a;Query -> 检索 -> Prompt -> LLM -> 回复 1. 文档的加载与切割 # !pip install --upgrade openai…...

PSIM积累经验

1、三极管的部署报错。 出错信息&#xff1a; 元件&#xff1a; R 名称&#xff1a; R2 Error: The RLC branch R2 is connected to the gate node of the switch Q1. The gate node should be connected to an On-Off Controller output. Refer to the switch Help p…...

C++之vector类(超详解)

这节我们来学习一下&#xff0c;C中一个重要的工具——STL&#xff0c;这是C中自带的一个标准库&#xff0c;我们可以直接调用这个库中的函数或者容器&#xff0c;可以使效率大大提升。这节我们介绍STL中的vector。 文章目录 前言 一、标准库类型vector 二、vector的使用 2.…...

Go学习笔记

<!-- 注意* --> 初始化工程 go mod init GoDemo 结构体&#xff0c;接口 type i struct{} type i interface{} 条件&#xff0c;选择 循环 键值对 make(map[string]int) 切片&#xff0c;集合 make([]int,10) 函数 通道 Channel make(chan int) ​ ch <- v…...

前端杂的学习笔记

什么是nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 Nginx是一款轻量级的Web 服务器/反向代理服务器&#xff0c;处理高并发能力是十分强大的&#xff0c;并且支持热部署&#xff0c;启动简单&#xff0c;可以做到7*24不间断运行 正代和反代 学习nginx&a…...

痉挛性斜颈护理:全方位呵护,重燃生活希望

痉挛性斜颈是一种以颈部肌肉不自主收缩导致头部向一侧扭转或倾斜为特征的疾病。对于痉挛性斜颈患者而言&#xff0c;科学有效的护理能够显著提升其生活质量&#xff0c;辅助病情的改善。 生活护理&#xff1a;在生活环境布置上&#xff0c;要充分考虑患者行动的便利性。确保室内…...

MySQL的安装以及数据库的基本配置

MySQL的安装及配置 MySQL的下载 选择想要安装的版本&#xff0c;点击Download下载 Mysql官网下载地址&#xff1a;​ ​https://downloads.mysql.com/archives/installer/​​ MySQL的安装 选择是自定义安装&#xff0c;所以直接选择“Custom”&#xff0c;点击“Next”​ …...

WangEditor快速实现版

WangEditor快速实现版 效果 案例代码 后端 package com.diy.springboot.controller;import cn.hutool.core.util.IdUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiImplicitParam; import org.sp…...

LeetCode Hot100刷题——反转链表(迭代+递归)

206.反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例 3&#…...

10.2 继承与多态

文章目录 继承多态 继承 继承的作用是代码复用。派生类自动获得基类的除私有成员外的一切。基类描述一般特性&#xff0c;派生类提供更丰富的属性和行为。在构造派生类时&#xff0c;其基类构造函数先被调用&#xff0c;然后是派生类构造函数。在析构时顺序刚好相反。 // 基类…...

java项目之基于ssm的智能训练管理平台(源码+文档)

项目简介 智能训练管理平台实现了以下功能&#xff1a; 系统可以提供信息显示和相应服务&#xff0c;其管理员增删改查课程信息和课程信息资料&#xff0c;审核课程信息预订订单&#xff0c;查看订单评价和评分&#xff0c;通过留言功能回复用户提问。 &#x1f495;&#x1…...

29-验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s&#xff0c;如果它是 回文串 &#xff0c;返回 true &#xff1b;否则&#xf…...

(57)[HGAME 2023 week1]easyasm

nss&#xff1a;3477 [HGAME 2023 week1]easyasm 关于这个题吧&#xff0c;我还是和上一个题一样&#xff0c;我观察到了异或0x33 所以我就把result的结果跟0x33异或&#xff0c;然后我就就这样&#xff0c;做出来了...

FY-3D MWRI亮温绘制

1、FY-3D MWRI介绍 风云三号气象卫星&#xff08;FY-3&#xff09;是我国自行研制的第二代极轨气象卫星&#xff0c;其有效载荷覆 盖了紫外、可见光、红外、微波等频段&#xff0c;其目标是实现全球全天候、多光谱、三维定量 探测&#xff0c;为中期数值天气预报提供卫星观测数…...

Java集合面试题

引言 Java集合框架是Java编程中不可或缺的一部分&#xff0c;它提供了一系列用于存储和操作对象的接口和类。在Java面试中&#xff0c;集合框架的相关知识往往是必考的内容。本文将汇总一系列关于Java集合的面试题&#xff0c;帮助求职者更好地准备面试。 一、Java集合框架概…...

知识蒸馏综述Knowledge Distillation: A Survey解读

论文链接&#xff1a;Knowledge Distillation: A Survey 摘要&#xff1a;近年来&#xff0c;深度神经网络在工业界和学术界都取得了成功&#xff0c;尤其是在计算机视觉任务方面。深度学习的巨大成功主要归功于它能够扩展以对大规模数据进行编码&#xff0c;并且能够处理数十…...

ES映射知识

映射 映射类似于关系型数据库的Schema&#xff08;模式&#xff09;。 映射来定义字段列和存储的类型等基础信息。 {"mappings": {"properties": {"username": {"type": "keyword","ignore_above": 256 // 忽略…...

Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南

Spring Boot拦截器&#xff08;Interceptor&#xff09;与过滤器&#xff08;Filter&#xff09;深度解析&#xff1a;区别、实现与实战指南 一、核心概念对比 1. 本质区别 维度过滤器&#xff08;Filter&#xff09;拦截器&#xff08;Interceptor&#xff09;规范层级Serv…...

Debian二次开发一体化工作站:提升科研效率的智能工具

在科研领域&#xff0c;数据处理是实验成功的关键环节之一。随着实验数据的复杂性和规模不断增加&#xff0c;传统的数据处理方法已经难以满足科研人员的需求。这时&#xff0c;一体化工作站应运而生&#xff0c;成为科研实验数据处理的 “智能大脑”。 一体化工作站&#xff…...

swift-5-汇编分析闭包本质

一、枚举、结构体、类都定义方法 方法占用对象的内存么&#xff1f; 不占用 方法的本质就是函数 方法、函数都存放在代码段&#xff0c;因为方法都是公共的&#xff0c;不管 对象一还是对对象二调用都是一样的&#xff0c;所以放在代码段&#xff0c;但是每个对象的成员不一样所…...

Linux安装升级docker

Linux 安装升级docker Linux 安装升级docker背景升级停止docker服务备份原docker数据目录移除旧版本docker安装docker ce恢复数据目录启动docker参考 安装找到docker官网找到docker文档删除旧版本docker配置docker yum源参考官网继续安装docker设置开机自启配置加速测试 Linux …...