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

news2025/3/10 5:27:40

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 10
 
int 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]; // 假设最大长度为100
    char 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 10
 
void 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 elements
            temp = 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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

南开提出1Prompt1Story,无需训练,可通过单个连接提示实现一致的文本到图像生成。

&#xff08;1Prompt1Story&#xff09;是一种无训练的文本到图像生成方法&#xff0c;通过整合多个提示为一个长句子&#xff0c;并结合奇异值重加权&#xff08;SVR&#xff09;和身份保持交叉注意力&#xff08;IPCA&#xff09;技术&#xff0c;解决了生成图像中身份不一致…

STM32驱动OLED屏幕全解析:从原理到温度显示实战(上) | 零基础入门STM32第五十三步

主题内容教学目的/扩展视频OLED显示屏重点课程电路原理&#xff0c;手册分析&#xff0c;驱动程序。初始化&#xff0c;清屏&#xff0c;ASCII字库&#xff0c;显示分区。调用显示函数。做带有加入图形和汉字显示的RTC时钟界面。讲字库的设计原理。 师从洋桃电子&#xff0c;杜…

MySQL语法总结

本篇博客说明&#xff1a; &#xff01;&#xff01;&#xff01;.注意此系列都用的是MySQL语句&#xff0c;和SQLServer&#xff0c;PostgreSQL有些细节上的差别&#xff01;&#xff01;&#xff01; 1.每个操作都是先展示出语法格式 2.然后是具体例子 3.本篇注脚与文本顺讯息…

从预测到控制:电力RK3568边缘计算机在电网调度中的全面应用

在智能电网的快速发展中&#xff0c;电力Ubuntu工控机&#xff08;简称“电力工控机”&#xff09;作为核心设备&#xff0c;扮演着不可或缺的角色。特别是在智能电网调度场景中&#xff0c;电力工控机的高效、稳定和智能化特性&#xff0c;为电网的稳定运行和高效管理提供了强…

day-106 统计放置房子的方式数

思路 动态规划&#xff1a;因为中间有街道隔开&#xff0c;所以只需计算一边街道的排列方式&#xff0c;最后计算平方即可 解题过程 动态转换方程&#xff1a;f[i]f[i-1]f[i-2] Code class Solution {int num 1000000007;public int countHousePlacements(int n) {int arr[…

PostgreSQL安装和mcp PostgreSQL

文章目录 一. 安装之后修改权限并登录1. 确保当前用户具有sudo权限2. 修改/etc/postgresql/<版本号>/main/pg_hba.conf配置文件为trust&#xff0c;可以免密登录3. 进行免密登录4. 添加root用户和修改postgres用户密码1. postgres用户密码2. 添加root用户3. 为root用户设…

LPZero: Language Model Zero-cost Proxy Search from Zero(未更新完预览版本)

LPZero代码 摘要 神经架构搜索 (NAS) 有助于自动执行有效的神经网络搜索&#xff0c;同时需要大量的计算资源&#xff0c;尤其是对于语言模型。零样本 NAS 利用零成本 (ZC) 代理来估计模型性能&#xff0c;从而显着降低计算需求。然而&#xff0c;现有的 ZC 代理严重依赖于深…

字典树运用

字典树运用 字典树LC208 创建字典树0-1字典树 字典树 字典树又叫 前缀树&#xff0c; 是一种树形数据结构&#xff0c;用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景&#xff0c;例如自动补全和拼写检查。 LC208 创建字典树 这是一个字符串字典树…

RReadWriteLock读写锁应用场景

背景 操作涉及一批数据&#xff0c;如订单&#xff0c;可能存在多个场景下操作&#xff0c;先使用读锁&#xff0c;从redis缓存中获取操作中数据 比如 关闭账单&#xff0c; 发起调账&#xff0c; 线下结算&#xff0c; 合并支付 先判断当前操作的数据&#xff0c;是否在…

0087.springboot325基于Java的企业OA管理系统的设计与实现+论文

一、系统说明 基于springbootvue的企业OA管理系统,系统功能齐全, 代码简洁易懂&#xff0c;适合小白学编程。 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数…

Spring Boot 3 整合 MinIO 实现分布式文件存储

引言 文件存储已成为一个做任何应用都不可回避的需求。传统的单机文件存储方案在面对大规模数据和高并发访问时往往力不从心&#xff0c;而分布式文件存储系统则提供了更好的解决方案。本篇文章我将基于Spring Boot 3 为大家讲解如何基于MinIO来实现分布式文件存储。 分布式存…

Redis|集群 Cluster

文章目录 是什么能干嘛集群算法-分片-槽位slotredis集群的槽位slotredis集群的分片分片槽位的优势slot槽位映射——业界的3种解决方案小厂&#xff1a;哈希取余分区中厂&#xff1a;一致性哈希算法分区大厂&#xff1a;哈希槽分区 面试题&#xff1a;为什么 Redis 集群的最大槽…

【定制开发】碰一碰发视频系统定制开发,支持OEM

在短视频营销爆发的2025年&#xff0c;"碰一碰发视频"技术已成为实体商家引流标配。某连锁餐饮品牌通过定制化开发&#xff0c;单月视频发布量突破10万条&#xff0c;获客成本降低80%&#xff01;本文将深入解析该系统的技术架构与开发要点&#xff0c;助你快速搭建高…

Linux上位机开发(开篇)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 传统的上位机开发&#xff0c;一般都是默认pc软件开发。既然是pc软件&#xff0c;一般来说都是基于windows平台开发。开放的框架&#xff0c;无非是…

算法005——有效三角形个数

力扣——有效三角形个数点击链接跳转 判断三条边是否能组成三角形&#xff0c;大家第一时间想到的就是两边之和大于第三边 但是运用这个方法&#xff0c;我们需要判断三次&#xff0c;有一个更简单的方法&#xff0c;只需要判断一次 因为 C 已经是三边之中最大的了&#xff…

【STM32】江科大STM32学习笔记汇总(已完结)

00. 目录 文章目录 00. 目录01. STM32学习笔记汇总02. 相关资料下载03. 打赏04. 附录 01. STM32学习笔记汇总 【STM32】STM32学习笔记-课程简介(01) 【STM32】STM32学习笔记-STM32简介(02) 【STM32】STM32学习笔记-软件安装(03) 【STM32】STM32学习笔记-新建工程(04) 【ST…

【Python编程】高性能Python Web服务部署架构解析

一、FastAPI 与 Uvicorn/Gunicorn 的协同 1. 开发环境&#xff1a;Uvicorn 直接驱动 作用&#xff1a;Uvicorn 作为 ASGI 服务器&#xff0c;原生支持 FastAPI 的异步特性&#xff0c;提供热重载&#xff08;--reload&#xff09;和高效异步请求处理。 启动命令&#xff1a; u…

OSPF的各种LSA类型,多区域及特殊区域

一、OSPF的LSA类型 OSPF&#xff08;开放最短路径优先&#xff09;协议使用多种LSA&#xff08;链路状态通告&#xff09;类型来交换网络拓扑信息。以下是主要LSA类型的详细分类及其作用&#xff1a; 1. Type 1 LSA&#xff08;路由器LSA&#xff09; 生成者&#xff1a;每个…

pyqt联合designer的运用和设置

PyQt Designer 简介 PyQt Designer 是一个用于创建和设计 PyQt 应用程序用户界面的可视化工具。它允许用户通过拖放方式添加和排列各种控件,如按钮、文本框、滑块等,并设置它们的属性和样式,从而快速构建出美观且功能完整的 UI 界面。 Windows版本:【免费】安装包别管啊啊…

vulnhub靶场之【digitalworld.local系列】的snakeoil靶机

前言 靶机&#xff1a;digitalworld.local-snakeoil&#xff0c;IP地址为192.168.10.11 攻击&#xff1a;kali&#xff0c;IP地址为192.168.10.6 kali采用VMware虚拟机&#xff0c;靶机选择使用VMware打开文件&#xff0c;都选择桥接网络 这里官方给的有两种方式&#xff0…