C语言经典代码题

news2025/3/19 2:11:01

1.输入一个4位数:输出这个输的个位 十位 百位 千位

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a;
    printf("输入一个4位数:");
    scanf("%d",&a);
    printf("个位:%d\n",a%10);
    printf("十位:%d\n",a%100/10);
    printf("百位:%d\n",a/100%10);
    printf("千位:%d\n",a/1000);

    return 0;
}

2.从键盘读入两个整数,输出他们的和

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a,b;
    printf("输入第一个整数:");
    scanf("%d",&a);
    printf("输入第二个整数:");
    scanf("%d",&b);
    printf("它们的和:%d\n",a+b);
    return 0;
}

3.一个水分子的质量约为3.0*10^-23g,1夸脱水大约有950g,编写一个程序,要求输入水的夸脱数,然后显示这么多水中包含多少水分子。表示:3.0e-23 打印格式:%f或%e

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a;
    printf("输入水的夸脱数:");
    scanf("%d",&a);
    printf("%d夸脱水包含%f水分子\n",a,a*950/3.0e-23);
    return 0;
}

4.实现大小写转换(用getchar、putchar实现)即如果是大写字母转成小写输出如果是小写字母转为大写输出。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a=getchar();
    if(65<=a&&a<=90){
        putchar(a+32);
        putchar(10);
    }else if (a>=97&&a<=122)
    {
        putchar(a-32);
        putchar(10);
    }
    return 0;
}

5.从终端输入3个整数;从大到小输出。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a, b, c;
    printf("请输入三个整数:\n");
    scanf("%d%d%d", &a, &b, &c);
    if (a <= b)
    {
        int m;
        m = a;
        a = b;
        b = m;
    }
    if (b >= c)
        printf("%d %d %d\n", a, b, c);
    else if (a >= c && c >= b)
        printf("%d %d %d\n", a, c, b);
    else
        printf("%d %d %d\n", c, a, b);
    return 0;
}

6.输入任意两个数,输出两数之间(包括这两个数)偶数之和

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a, b, c;
    int sum = 0;
    printf("输入任意两个数:\n");
    scanf("%d%d", &a, &b);
    if (a > b)
    {
        c = a;
        a = b;
        b = c;
    }
    for (int i = a; i <= b; i++)
    {
        if (i % 2 == 0)
            sum += i;
    }
    printf("%d与%d偶数之和为%d\n", a, b, sum);
    return 0;
}

7.写程序实现功能:读入两个整数(data1和data2)和一个运算符(op),计算表达式data1 op data2 的值.其中op可以为+、-、*、/四个符号中的任一种(用switch语句实现)

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a, b;
    char c;
    printf("输入两个整数:\n");
    scanf("%d%d", &a, &b);
    getchar();
    printf("输入一个运算符(+、-、*、/):\n");
    scanf("%c", &c);
    switch (c)
    {
    case '+':
        printf("%d%c%d=%d\n", a, c, b, a + b);
        break;
    case '-':
        printf("%d%c%d=%d\n", a, c, b, a - b);
        break;
    case '*':
        printf("%d%c%d=%d\n", a, c, b, a * b);
        break;
    case '/':
        printf("%d%c%d=%d\n", a, c, b, a / b);
        break;
    }
    return 0;
}

8.终端输入十个数,去掉其中最大值和最小值,求平均值。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a[10];
    int max, min;
    int sum = 0;
    printf("输入十个数:\n");
    for (int i = 0; i < 10; i++)
    {
        scanf("%d", &a[i]);
        sum += a[i];
    }
    for (int i = 0; i < 10; i++)
    {
        max = a[0];
        min = a[0];
        if (a[i] > max)
            max = a[i];
        if (a[i] < min)
            min = a[i];
    }
    printf("sum=%d\n", sum);
    printf("max=%d\n", max);
    printf("min=%d\n", min);
    printf("去掉最大值和最小值,平均值为:%f\n", (float)(sum - max - min) / 8);
    return 0;
}

9.计算斐波那契数列前15项并逆序输出。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a[15] = {1, 1};
    for (int i = 2; i < 15; i++)
    {
        a[i] = a[i - 2] + a[i - 1];
    }
    for (int i = 14; i >= 0; i--)
        printf("%d\n", a[i]);
    return 0;
}

10.循环输入一个5位数,判断它是不是回文数。当输入0时循环结束。即12321是回文数,个位与万位相同,十位与千位相同。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a;
    printf("输入一个5位数:");
    while (1)
    {
        scanf("%d", &a);
        if (a == 0)
            break;
        if ((a % 10 == a / 10000) && (a / 10 % 10 == a / 1000 % 10))
            printf("是回文数\n");
        else
            printf("不是回文数\n");
        printf("输入一个5位数:");
    }
    return 0;
}

11.输入一个字符串,大小写转换输出。

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    char a[33] = {};
    scanf("%s", a);
    int n = strlen(a);
    for (int i = 0; i < n; i++)
    {
        if (a[i] >= 'a' && a[i] <= 'z')
            printf("%c", a[i] - 32);
        else if (a[i] >= 'A' && a[i] <= 'Z')
            printf("%c", a[i] + 32);
    }
    return 0;
}

12.冒泡排序。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a[5] = {6, 5, 4, 2, 3};
    for (int i = 0; i < 4; i++)
    {
        for (int j = 0; j < 4 - i; j++)
        {
            if (a[j] > a[j + 1])
            {
                a[j] = a[j] ^ a[j + 1];
                a[j + 1] = a[j] ^ a[j + 1];
                a[j] = a[j] ^ a[j + 1];
            }
        }
    }
    for (int i = 0; i < 5; i++)
    {
        printf("%d", a[i]);
    }
    return 0;
}

13.选择排序。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    int a[5] = {5, 4, 6, 9, 7};
    int temp;
    for (int i = 0; i < 4; i++)
    {
        int min = i;
        for (int j = i + 1; j < 5; j++)
        {
            if (a[j] < a[min])
                min = j;
        }
        temp=a[i];
        a[i]=a[min];
        a[min]=temp;
    }
    for (int i = 0; i < 5; i++)
        printf("%d", a[i]);
    return 0;
}

14.字符串逆序输出(两种方法实现)。

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    // 字符串逆序输出
    // 法1
    // char a[] = "hello world";
    // char *p = a;
    // int n = strlen(a);
    // for (int i = n; i >= 0; i--)
    // {
    //     printf("%c ", p[i]);
    // }

    char a[] = "hello world";
    char *p = a + strlen(a) - 1;
    for (int i = 0; i < strlen(a); i++)
    {
        printf("%c", *p);
        p--;
    }

    // 法2
    // char a[] = "hello world";
    // char *p = a;
    // int n = strlen(a);
    // for (int i = 0; i < n / 2; i++)
    // {
    //     p[i] = p[i] ^ p[n - i - 1];
    //     p[n - i - 1] = p[i] ^ p[n - i - 1];
    //     p[i] = p[i] ^ p[n - i - 1];
    // }
    // printf("%s", p);
    // return 0;

    char a[66];
    gets(a);
    char *p = a;
    char *q = a + strlen(a) - 1;
    while (p < q)
    {
        *p = *p ^ *q;
        *q = *p ^ *q;
        *p = *p ^ *q;
        p++;
        q--;
    }
    printf("%s", a);
    return 0;
}

15.字符串转数字:"1234" -----> 1234(一千两百三十四)。

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    // 字符串转数字
    //法1
    // char a[33];
    // gets(a);
    // int n=strlen(a);
    // int sum=0;
    // int j;
    // for (int i = 1; i < n; i++)
    // {
    //     j*=10;
    // }   
    // for (int i = 0; i < n; i++)
    // {
    //     sum+=(a[i]-48)*j;
    //     j/=10;
    // }
    // printf("%d\n", sum);
    // return 0;

    //法2
    char a[33];
    gets(a);
    char *p=a;
    int n=0;
    while (*p!='\0')
    {
        n=n*10+(*p-48);
        p++;
    }
    printf("%d\n",n);
}

16.打印杨辉三角前十行(二维数组)。

#include <stdio.h>
int main(int argc, char const *argv[])
{
    // 打印杨辉三角前十行
    // 法1
    //  int a[10][10] = {0};
    //  for (int i = 0; i < 10; i++)
    //  {
    //      for (int j = 0; j <= i; j++)
    //      {
    //          if (j - 1 >= 0)
    //              a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
    //          else
    //              a[i][j] = 1;
    //      }
    //  }
    //  for (int i = 0; i < 10; i++)
    //  {
    //      for (int j = 0; j <= i; j++)
    //          printf("%-3d ", a[i][j]);
    //      printf("\n");
    //  }

    // 法2
    int a[10][10] = {};
    for (int i = 0; i < 10; i++)
    {
        a[i][0] = 1;
        a[i][i] = 1;
    }
    for (int i = 2; i < 10; i++)
    {
        for (int j = 1; j < 10; j++)
            a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
    }
    for (int i = 0; i < 10; i++)
    {
        for (int j = 0; j <= i; j++)
            printf("%d ", a[i][j]);
        putchar(10);
    }
}

17.已知字符数组a[10]和b[10]中元素的值递增有序,用指针实现将两个数组中元素按照递增顺序输出。如:char a[10]=”acdgjmno” ; char b[10]=”befhil”;->”abcdefghijlmno”

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    char a[10] = "acdgjmno";
    char b[10] = "befhil";
    char *p = a, *q = b;
    int i = 0, j = 0;
    while (i < strlen(a) && j < strlen(b))
    {
        if (p[i] < q[j])
        {
            printf("%c", p[i]);
            i++;
        }
        else
        {
            printf("%c", q[j]);
            j++;
        }
    }
    if (i < strlen(a))
    {
        for (int k = i; k < strlen(a); k++)
            printf("%c", a[k]);
    }
    if (j < strlen(b))
    {
        for (int k = j; k < strlen(b); k++)
            printf("%c", b[k]);
    }
    return 0;
}

18.给定一串字符"I love china",实现以单词为单位的逆序,如:"china love i"

#include <stdio.h>
#include <string.h>
int main(int argc, char const *argv[])
{
    char a[] = "i love china";
    char *p = a;
    int n = strlen(a);
    for (int i = 0; i < n / 2; i++)
    {
        p[i] = p[i] ^ p[n - i - 1];
        p[n - i - 1] = p[i] ^ p[n - i - 1];
        p[i] = p[i] ^ p[n - i - 1];
    }
    char *q;
    char *k=NULL, temp;
    p = q = a;
    while (*p != '\0')
    {
        while (*p == ' ' )
            p++;
        q = p;
        while (*q != ' ' && *q != '\0')
            q++;
        k = q;
        q = k - 1;
        while (p < q)
        {
            temp = *p;
            *p = *q;
            *q = temp;
            p++;
            q--;
        }
        p = k;
    }
    printf("%s\n", a);
    return 0;
}

19.定义求x的n次方值的函数( x是实数, n为正整数)。

#include <stdio.h>

int fun(int x, int n)
{
    int r = 1;

    for (int i = 0; i < n; i++)
        r *= x;
    printf("%d\n", r);
    return r;
}

int main(int argc, char const *argv[])
{

    // int r = 1;
    // int x = 2;
    // for (int i = 0; i < 4; i++)
    //     r *= x;
    // printf("%d\n", r);

    printf("%d\n", fun(2, 4));
}

20.编写一个函数,函数的2个参数,第一个是一个字符,第二个是一个char *,返回字符串中该字符的个数。

#include <stdio.h>

int fun(char ch, char *p)   //ch=a='a', p=s
{
    int n = 0;
    while (*p != '\0') //*p
    {
        if (*p == ch)
            n++;
        p++; //p=p+1
    }

    return n;
}

int main(int argc, char const *argv[])
{
    char a = 'a';
    char s[32] = "abbba";
    printf("%d\n", fun(a, s));
}

21.编程实现strlen函数的功能,strlen计算字符串实际长度,不包含'\0'

#include <stdio.h>

int fun(char *p)
{
    int n = 0;
    while (*p)
    {
        n++;
        p++;
    }
    return n;
}

int main(int argc, char const *argv[])
{
    char s[32] = "abbba";
    int len = 0;
    len = fun(s);
    printf("%d\n", len);

    //printf("%d\n", fun(s));
    //printf("%d\n", fun("6666666"));
}

22.字符串"123"转换成整型123

#include <stdio.h>

int fun(char *p)
{
    int sum = 0;
    while (*p != '\0')
    {
        sum = sum * 10 + (*p - 48);
        p++;
    }
    return sum;
}

int main(int argc, char const *argv[])
{
    char str[32] = "123";
    printf("%d\n", fun(str));
}

23.封装函数实现两数交换。

#include <stdio.h>
void fun(int *x, int *y)
{
    int tmp;
    tmp = *x;
    *x = *y;
    *y = tmp;
}

int main(int argc, char const *argv[])
{
    int a = 10, b = 20;
    fun(&a, &b);
    printf("%d %d\n", a, b);
}

24.封装函数实现strcpy功能。

#include <stdio.h>

void fun(char *p, char *q)
{
    while (*q != '\0')
        *p++ = *q++;  //*p=*q; p++; q++;
    *p = '\0';
}

int main(int argc, char const *argv[])
{
    char a[32] = "";
    char b[32] = "hello";
    fun(a, b);
    printf("%s\n", a);
}

25.封装函数实现strcat功能。

#include <stdio.h>
#include <string.h>
void fun(char *p, char *q)
{
    while (*p)   //p=p+strlen(p);
        p++;
    while (*q)
        *p++ = *q++;
    *p = '\0';
}

int main(int argc, char const *argv[])
{
    char a[32] = "hello";
    char b[32] = "world";
    fun(a, b);
    printf("%s\n", a);
}

26.用递归函数求5的阶乘5!

#include <stdio.h>
#include <string.h>

int fac(int n)   //n=5  n=4 n=3 n=2 n=1
{
    if (n == 1)
        return 1;       //fac(1)=1
    if (n > 1)
        return n * fac(n - 1);  //递推阶段:5*fac(4)  fac(4)=4*fac(3) fac(3)=3*fac(2) fac(2)=2*fac(1)
                                                    //回归阶段:==> fac2(2)=2*1=2 ==>fac(3)=3*2=6 ==> fac(4)=4*6=24 ==>fac(5)=5*24=120
}

int main(int argc, char const *argv[])
{
    int n = 5;
    printf("%d\n", fac(n));
}

27.斐波那契数列:指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 求第五个数。

#include <stdio.h>
#include <string.h>

int fac(int n)   //5 4 
{
    if (n == 1 || n == 2)
        return 1;
    if (n > 2)
        return fac(n - 1) + fac(n - 2);   //fac(5)=fac(4)+fac(3)= fac(3)+fac(2) +fac(3) = 5
}

int main(int argc, char const *argv[])
{
    int n = 5;
    printf("%d\n", fac(n));
}

28.创建一个名为student的结构体,包含姓名,学号,班级,从终端输入学生的信息并打印。

#include <stdio.h>
#include <string.h>
struct student
{
    char name[32];
    int id;
    int class;
};

struct student s1;
int main(int argc, char const *argv[])
{
    scanf("%s %d %d", s1.name, &s1.id, &s1.class);
    printf("%s %d %d\n", s1.name, s1.id, s1.class);
}

29.typedef用法

#include <stdio.h>
#include <string.h>
//1.给普通变量重命名
typedef int size4;

//2. 给指针类型重命名
typedef int *int_p;

//3. 给数组类型重名
typedef int intArr5[5];

int main()
{
    size4 a = 10;                    //等同于int a=10;
    int_p p = &a;                    //等同于int *p=&a;
    intArr5 arr = {1, 2, 3, 4, 5}; //等同于int arr[5]={1,2,3,4,5};
    printf("%d\n", *p);     //10
    printf("%d\n", arr[3]);  //4
}

30.创建一个描述手机的结构体叫phone, 包含品牌,型号,颜色,价格。从终端输入你自己手机的信息并打印。(用typedef)。

#include <stdio.h>
#include <string.h>
typedef struct phone
{
    char brand[32];
    char type[32];
    char color[32];
    int price;
} ph;

ph my;
int main()
{
    scanf("%s %s %s %d", my.brand, my.color, my.type, &my.price);
    printf("%s %s %s %d\n", my.brand, my.color, my.type, my.price);
}

31.创建一个名为student的结构体数组,包含学号,姓名,成绩,(数据类型自己定义),从终端输入学生的信息并打印分数及格的学生信息(输入3人即可)。

#include <stdio.h>
typedef struct student
{
    char name[32];
    int number;
    int score;
} st;

int main(int argc, char const *argv[])
{
    st s[3];
    for (int i = 0; i < 3; i++)
        scanf("%s %d %d", s[i].name, &s[i].number, &s[i].score);

    for (int i = 0; i < 3; i++)
    {
        if (s[i].score >= 60)
            printf("%s %d %d\n", s[i].name, s[i].number, s[i].score);
    }
    return 0;
}

32.创建一个结构体数组,数组名为book,结构体成员包含编号,书名,售价(数据类型自己设定)。写一个函数,包含两个形参,分别接收结构体数组的首地址和一个指定的售价,函数的功能为打印结构体数组中售价大于指定售价的书的信息。

#include <stdio.h>
#define N 3
typedef struct book
{
    char name[32];
    int id;
    int price;
} BOOK; //BOOK等同于struct book

BOOK b[N] = {
    {"shuihu", 1, 40},
    {"zyj zhuan", 2, 200},
    {"tuling zhuan", 3, 0}};

void bookPri(BOOK *p, int n)
{
    for (int i = 0; i < N; i++)
    {
        if (p->price > n)
            printf("%s %d %d\n", p->name, p->id, p->price);
        p++;
    }
}

int main(int argc, char const *argv[])
{
    bookPri(b, 6);
    return 0;
}

33.创建一个游戏英雄的结构体数组(5个元素), 结构体成员包含名称, 血量和价格。给出每个英雄信息,封装函数实现按价格从低到高打印英雄信息,(用冒泡排序)。封装函数实现修改英雄信息功能。

#include <stdio.h>

typedef struct hero
{
    char name[32];
    int hp;
    int price;
} HERO;

void sort(HERO *p, int n)
{
    HERO tmp;
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = 0; j < n - i - 1; j++)
        {
            if (p[j].price > p[j + 1].price)
            {
                tmp = p[j];
                p[j] = p[j + 1];
                p[j + 1] = tmp;
            }
        }
    }
}

void change(HERO *p, int n)
{
    if (n <= 3)
        scanf("%s %d %d", p[n - 1].name, &p[n - 1].hp, &p[n - 1].price);
    else
        printf("err\n");
}

int main(int argc, char const *argv[])
{
    HERO a[3] = {
        {"zdl", 1, 50},
        {"zyj", 999, 100},
        {"xyb", 10000, 2}};

    change(a, 1);
    sort(a, 3);

    for (int i = 0; i < 3; i++)
        printf("%s %d %d\n", a[i].name, a[i].hp, a[i].price);

    return 0;
}

34.封装函数实现冒泡排序。

#include <stdio.h>

void fun(int *a, int n)
{
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = 0; j < n - 1 - i; j++)
        {
            if (a[j + 1] > a[j])
            {
                int temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }
        }
    }

    for (int i = 0; i < 10; i++)
        printf("%d ", a[i]);
    printf("\n");
}

int main(int argc, char const *argv[])
{
    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    fun(a, 10);

    return 0;
}

35.封装函数实现如下功能:输入任意两个数,返回两数之间(包括这两个数)偶数之和。

#include <stdio.h>

int fun(int a, int b)
{
    int sum = 0;
    if (a >= b)
    {
        int t = a;
        a = b;
        b = t;
    }
    for (int i = a; i <= b; i++)
    {
        if (i % 2 == 0)
            sum += i;
    }
    return sum;
}

int main(int argc, char const *argv[])
{
    int a, b, sum;
    scanf("%d %d", &a, &b);
    sum = fun(a, b);
    printf("%d\n", sum);

    return 0;
}

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

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

相关文章

深入理解蒸馏、Function Call、React、Prompt 与 Agent

AI基础概念与实操 一、什么是蒸馏二、如何理解Function Call、React、Prompt与Agent&#xff08;一&#xff09;Function Call与Agent&#xff08;二&#xff09;Agent中的React概念&#xff08;三&#xff09;Prompt与Agent的关联 实操演练function callprompt 一、什么是蒸馏…

记录一个SQL自动执行的html页面

在实际工作场景中&#xff0c;需要运用到大量SQL语句更新业务逻辑&#xff0c;对程序员本身&#xff0c;写好的sql语句执行没有多大问题&#xff08;图1&#xff09;&#xff0c;但是对于普通用户来说还是有操作难度的。因此我们需要构建一个HTML页面&#xff08;图2&#xff0…

qt介绍图表 charts 一

qt chartsj基于Q的Graphics View框架&#xff0c;其核心组件是QChartView和QChart.QChartView是一个显示图表的独立部件&#xff0c;基类为QGraphicsView.QChar类管理图表的序列&#xff0c;图例和轴示意图。 绘制一个cos和sin曲线图&#xff0c;效果如下 实现代码 #include…

Transformer:GPT背后的造脑工程全解析(含手搓过程)

Transformer&#xff1a;GPT背后的"造脑工程"全解析&#xff08;含手搓过程&#xff09; Transformer 是人工智能领域的革命性架构&#xff0c;通过自注意力机制让模型像人类一样"全局理解"上下文关系。它摒弃传统循环结构&#xff0c;采用并行计算实现高…

S32K144入门笔记(十):TRGMUX的初始化

目录 1. 概述 2. 代码配置 1. 概述 书接上回&#xff0c;TRGMUX本质上是一个多路选择开关&#xff0c;根据用户手册中的描述&#xff0c;它可以实现多个输入的选择输出&#xff0c;本篇文章将验证如何通过配置工具来生成初始化配置代码。 2. 代码配置 笔者通过配置TRGMUX实现…

有了大模型为何还需要Agent智能体

一、什么是Agent&#xff1f; Agent&#xff08;智能体&#xff09; 是一种能感知环境、自主决策、执行动作的智能实体&#xff0c;当它与大语言模型&#xff08;如通义千问QWen、GPT&#xff09;结合时&#xff0c;形成一种**“增强型AI系统”**。其核心架构如下&#xff1a;…

DNS主从服务器

1.1环境准备 作用系统IP主机名web 服务器redhat9.5192.168.33.8webDNS 主服务器redhat9.5192.168.33.18dns1DNS 从服务器redhat9.5192.168.33.28dns2客户端redhat9.5192.168.33.7client 1.2修改主机名和IP地址 web服务器 [rootweb-8 ~]# hostnamectl hostname web [rootweb-8…

Flume详解——介绍、部署与使用

1. Flume 简介 Apache Flume 是一个专门用于高效地 收集、聚合、传输 大量日志数据的 分布式、可靠 的系统。它特别擅长将数据从各种数据源&#xff08;如日志文件、消息队列等&#xff09;传输到 HDFS、HBase、Kafka 等大数据存储系统。 特点&#xff1a; 可扩展&#xff1…

【Linux系列】文件压缩

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

微服务架构中10个常用的设计模式

​在当今的微服务架构中&#xff0c;常见的十种设计模式&#xff0c;分别是服务发现模式、API网关模式、断路器模式、边车模式、负载均衡模式、Saga事务模式、CQRS模式、分片模式、分布式日志跟踪模式、熔断与降级模式 。其中&#xff0c;服务发现模式十分关键&#xff0c;通过…

Vue3组件+leaflet,实现重叠marker的Popup切换显示

一、前言 GIS开发过程中&#xff0c;经常需要绘制marker&#xff0c;这些marker很大概率会有坐标相同导致的叠加问题&#xff0c;这种情况下会降低使用体验感。所以我们可以将叠加的marker的popup做一个分页效果&#xff0c;可以切换显示的marker。 二、技术要点 我们以leaf…

机器学习之距离度量方法

常见的距离度量方法及相关函数、图示如下: 1. 欧几里得距离(Euclidean Distance) 函数公式:对于两个 ( n ) 维向量 ( x = ( x 1 , x 2 , ⋯   ,

3.1 在VisionPro脚本中添加CogGraphicLabel

本案例需要实现如下功能&#xff1a; 1.加载toolBlock 2.加载图片&#xff0c; 3.运行Block 4.VisionPro中添加脚本显示数值。 见下图&#xff1a;详细代码&#xff08;C#以及visionPro&#xff09;见下面链接&#xff1a; https://download.csdn.net/download/qq_340474…

AI:Machine Learning Data Science

机器学习与数据科学 左侧 机器学习 Machine Learning 机器学习是一门多领域交叉学科&#xff0c;涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为&#xff0c;以获取新的知识或技能&#xff0c;重新组织已有的知…

软件需求分类、需求获取(高软46)

系列文章目录 软件需求分类&#xff0c;需求获取 文章目录 系列文章目录前言一、软件需求二、获取需求三、真题总结 前言 本节讲明软件需求分类、需求获取的相关知识。 一、软件需求 二、获取需求 三、真题 总结 就是高软笔记&#xff0c;大佬请略过&#xff01;

嵌入式Linux | 什么是 BootLoader、Linux 内核(kernel)、和文件系统?

01 什么是 BootLoader 呢&#xff1f; 它是个引导程序&#xff0c;也就是硬件复位以后第一个要执行的程序&#xff0c;它主要工作就是初始化操作系统运行的环境&#xff0c;比如说内存、定时器、缓冲器等&#xff0c;当这个工作做完以后&#xff0c;再把操作系统的代码加载…

函数(函数的概念、库函数、自定义函数、形参和实参、return语句、数组做函数参数、嵌套调用和链式访问、函数的声明和定义、static和extern)

一、函数的概念 •C语⾔中的函数&#xff1a;⼀个完成某项特定的任务的⼀⼩段代码 •函数又被翻译为子函数&#xff08;更准确&#xff09; •在C语⾔中我们⼀般会⻅到两类函数&#xff1a;库函数 ⾃定义函数 二、库函数 1 .标准库和头文件 •C语⾔的国际标准ANSIC规定了⼀…

ImGui 学习笔记(五) —— 字体文件加载问题

ImGui 加载字体文件的函数似乎存在编码问题&#xff0c;这一点可能跟源文件的编码也有关系&#xff0c;我目前源文件编码是 UTF-16。 当参数中包含中文字符时&#xff0c;ImGui 内部将字符转换为宽字符字符集时候&#xff0c;采用的 MultiByteToWideChar API 参数不太对&#…

OpenCV计算摄影学(20)非真实感渲染之增强图像的细节函数detailEnhance()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 此滤波器增强特定图像的细节。 cv::detailEnhance用于增强图像的细节&#xff0c;通过结合空间域和频率域的处理&#xff0c;提升图像中特定细节…

Android PC 要来了?Android 16 Beta3 出现 Enable desktop experience features 选项

在之前的 《Android 桌面窗口新功能推进》 我们就聊过&#xff0c;Google 就一直在努力改进 Android 的内置桌面模式&#xff0c;例如添加了适当的窗口标题、捕捉窗口的能力、悬停选项、窗口大小调整、最小化支持、app-to-web 等。 比如在搭载 Android 15 QPR 1 Beta 2 的 Pix…