C语言经典编程题100例(81~100)

news2024/11/15 8:37:30

目录

  • 81、习题7-7 字符串替换

  • 82、习题8-10 输出学生成绩

  • 83、习题8-2 在数组中查找指定元素

  • 84、习题8-3 数组循环右移

  • 85、题8-9 分类统计各类字符个数

  • 86、习题9-2 计算两个复数之积

  • 87、习题9-6 按等级统计学生成绩

  • 88、习题11-1 输出月份英文名

  • 89、习题11-2 查找星期

  • 90、练习10-1 使用递归函数计算1到n之和

  • 91、习题10-2 递归求阶乘和

  • 92、习题8-5 使用函数实现字符串部分复制

  • 93、习题8-6 删除字符

  • 94、习题8-8 判断回文字符串

  • 95、习题10-3 递归实现指数函数

  • 96、习题10-4 递归求简单交错幂级数的部分和

  • 97、习题10-5 递归计算Ackermenn函数

  • 98、习题10-6 递归求Fabonacci数列

  • 99、习题10-7 十进制转换二进制

  • 100、习题10-8 递归实现顺序输出整数


81、习题7-7 字符串替换


本题要求编写程序,将给定字符串中的大写英文字母按以下对应规则替换:

原字母

对应字母

A

Z

B

Y

C

X

D

W

...

...

X

C

Y

B

Z

A

输入格式:

输入在一行中给出一个不超过80个字符、并以回车结束的字符串。

输出格式:

输出在一行中给出替换完成后的字符串。

输入样例:

Only the 11 CAPItaL LeTtERS are replaced.

输出样例:

Lnly the 11 XZKRtaO OeGtVIH are replaced.

注: 编程重点

A+Z=155
B+Y=155
C+X=155
D+W=155
… …
X+C=155
Y+B=155
Z+A=155

代码:

#include<stdio.h>

// A+Z=155
// B+Y=155
// ......
int main()
{
    char str[81];
    gets(str);
    int i;
    for(i=0;i<strlen(str);i++)
    {
        if(str[i]>='A'&&str[i]<='Z')
        {
            str[i]=155-str[i];
        }
    }
    puts(str);
}

82、习题8-10 输出学生成绩


本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。

输入格式:

输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。

输出格式:

按照以下格式输出:

average = 平均成绩
max = 最高成绩
min = 最低成绩

结果均保留两位小数。

输入样例:

3
85 90 95

输出样例:

average = 90.00
max = 95.00
min = 85.00

代码:

#include<stdio.h>

double fun(int *arr,int n,int l)
{
    int i;
    int index=0;
    for(i=1;i<n;i++)
    {
        if(l==1)
        {
            if(arr[i]>=arr[index]) index=i;
        }
        else
        {
            if(arr[i]<=arr[index]) index=i;
        }
    }
    return arr[index]/1.0;
}
int main()
{
    int N;
    int arr[10000];
    scanf("%d",&N);
    int i;
    int sum=0;
    for(i=0;i<N;i++)
    {
        scanf("%d",&arr[i]);
        sum+=arr[i];
    }
    printf("average = %.2lf\n",sum/(double)N);
    printf("max = %.2lf\n",fun(&arr,N,1));
    printf("min = %.2lf\n",fun(&arr,N,2));
    return 0;

}

83、习题8-2 在数组中查找指定元素


本题要求实现一个在数组中查找指定元素的简单函数。

函数接口定义:

int search( int list[], int n, int x );

其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到

则函数search返回相应元素的最小下标(下标从0开始),否则返回−1。

裁判测试程序样例:

#include <stdio.h>
#define MAXN 10
    
int search( int list[], int n, int x );
    
int main()
{
    int i, index, n, x;
    int a[MAXN];
    
    scanf("%d", &n);
    for( i = 0; i < n; i++ )
        scanf("%d", &a[i]);
    scanf("%d", &x);
    index = search( a, n, x );
    if( index != -1 )
        printf("index = %d\n", index);
    else
        printf("Not found\n");
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例1:

5
1 2 2 5 4
2

输出样例1:

index = 1

输入样例2:

5
1 2 2 5 4
0

输出样例2:

Not found

代码:

int search( int list[], int n, int x )
{
  int i;
  int l=-1;
  for(i=0;i<n;i++)
  {
    if(list[i]==x){l=1;break;}
  }
  if(l==1) return i;
  else return l;
}

84、习题8-3 数组循环右移


本题要求实现一个对数组进行循环右移的简单函数:一个数组a中存有n(>0)个整数,将每个整数循环向右移m(≥0)个位置,即将a中的数据由变换为(最后m个数循环移最前面的m个位置)。

函数接口定义:

int ArrayShift( int a[], int n, int m );

其中 a[] 是用户传入的数组;n是数组的大小;m是右移的位数。函数 ArrayShift 须将循环右移后的数组仍然存在a[]中。

裁判测试程序样例:

#include <stdio.h>
#define MAXN 10
    
int ArrayShift( int a[], int n, int m );
    
int main()
{
    int a[MAXN], n, m;
    int i;
    
    scanf("%d %d", &n, &m);
    for ( i = 0; i < n; i++ ) scanf("%d", &a[i]);
    
    ArrayShift(a, n, m);
    
    for ( i = 0; i < n; i++ ) {
        if (i != 0) printf(" ");
        printf("%d", a[i]);
    }
    printf("\n");
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

6 2
1 2 3 4 5 6

输出样例:

5 6 1 2 3 4

代码:

int ArrayShift( int a[], int n, int m )
{
  int i;
  int k;
  for(k=1;k<=m;k++)
  {
    int temp=a[n-1];
    for(i=n-1;i>0;i--)
     {
        a[i]=a[i-1];
     }
     a[0]=temp;
  }
}

85、题8-9 分类统计各类字符个数


本题要求实现一个函数,统计给定字符串中的大写字母、小写字母、空格、数字以及其它字符各有多少。

函数接口定义:

void StringCount( char *s );

其中 char *s 是用户传入的字符串。函数 StringCount 须在一行内按照

大写字母个数 小写字母个数 空格个数 数字个数 其它字符个数

的格式输出。

裁判测试程序样例:

#include <stdio.h>
#define MAXS 15
    
void StringCount( char *s );
void ReadString( char *s ); /* 由裁判实现,略去不表 */
    
int main()
{
    char s[MAXS];
    
    ReadString(s);
    StringCount(s);
    
    return 0;
}
    
/* Your function will be put here */

输入样例:

aZ&*?
093 Az

输出样例:

2 2 1 3 4

代码:

void StringCount( char *s )
{
    int suma=0;   //小写字母个数
    int sumA=0;   //大写字母个数
    int sum_=0;   //空格个数
    int sum1=0;   //数字个数
   // int sumO=0;
    int i;
    int len=strlen(s);
    for(i=0;i<len;i++)
    {
       
        if(s[i]>='A'&&s[i]<='Z') sumA++;
        if(s[i]>='a'&&s[i]<='z') suma++;
        if(s[i]==' ') sum_++;
        if(s[i]>='0'&&s[i]<='9') sum1++;
    
    }
    printf("%d %d %d %d %d\n",sumA,suma,sum_,sum1,len-(suma+sumA+sum_+sum1));
}

86、习题9-2 计算两个复数之积


本题要求实现一个计算复数之积的简单函数。

函数接口定义:

struct complex multiply(struct complex x, struct complex y);

其中 struct complex 是复数结构体,其定义如下:

struct complex{
    int real;
    int imag; 
};

裁判测试程序样例:

#include <stdio.h>
    
struct complex{
    int real;
    int imag;
};
    
struct complex multiply(struct complex x, struct complex y);
    
int main()
{
    struct complex product, x, y;
    
    scanf("%d%d%d%d", &x.real, &x.imag, &y.real, &y.imag);
    product = multiply(x, y);
    printf("(%d+%di) * (%d+%di) = %d + %di\n", x.real, x.imag, y.real, y.imag, product.real, product.imag);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

3 4 5 6

输出样例:

(3+4i) * (5+6i) = -9 + 38i

代码:

struct complex multiply(struct complex x, struct complex y)
{
    struct complex t;
    t.real=x.real*y.real-x.imag*y.imag;
    t.imag=x.real*y.imag+y.real*x.imag;
    return t;
};

87、习题9-6 按等级统计学生成绩


本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。

函数接口定义:

int set_grade( struct student *p, int n );

其中 p 是指向学生信息的结构体数组的指针,该结构体的定义为:

struct student{
   int num;
   char name[20];
   int score;
   char grade; 
};

n 是数组元素个数。学号 num 、姓名 name 和成绩 score 均是已经存储好的。set_grade 函数需要根据学生的成绩 score 设置其等级 grade 。等级设置:85-100为A,70-84为B,60-69为C,0-59为D。同时, set_grade 还需要返回不及格的人数。

裁判测试程序样例:

#include <stdio.h>
#define MAXN 10
    
struct student{
    int num;
    char name[20];
    int score;
    char grade;
};
    
int set_grade( struct student *p, int n );
    
int main()
{   
    struct student stu[MAXN], *ptr;
    int n, i, count;
    
    ptr = stu;
    scanf("%d\n", &n);
    for(i = 0; i < n; i++){
        scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score);
    } 
    count = set_grade(ptr, n);
    printf("The count for failed (<60): %d\n", count);
    printf("The grades:\n"); 
    for(i = 0; i < n; i++)printf("%d %s %c\n", stu[i].num, stu[i].name, stu[i].grade);
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

10
31001 annie 85
31002 bonny 75
31003 carol 70
31004 dan 84
31005 susan 90
31006 paul 69
31007 pam 60
31008 apple 50
31009 nancy 100
31010 bob 78

输出样例:

The count for failed (<60): 1
The grades:
31001 annie A
31002 bonny B
31003 carol B
31004 dan B
31005 susan A
31006 paul C
31007 pam C
31008 apple D
31009 nancy A
31010 bob B

代码:

int set_grade( struct student *p, int n )
{
    int i;
    int temp=0;
    for(i=0;i<n;i++)
    {
        if(p[i].score>=85&&p[i].score<=100) p[i].grade='A';
        if(p[i].score>=70&&p[i].score<=84) p[i].grade='B';
        if(p[i].score>=60&&p[i].score<=69) p[i].grade='C';
        if(p[i].score>=0&&p[i].score<=59) {p[i].grade='D';temp++;}
    }
    return temp;
}

88、习题11-1 输出月份英文名


本题要求实现函数,可以返回一个给定月份的英文名称。

函数接口定义:

char *getmonth( int n );

函数 getmonth 应返回存储了 n 对应的月份英文名称的字符串头指针。如果传入的参数 n 不是一个代表月份的数字,则返回空指针NULL。

裁判测试程序样例:

#include <stdio.h>
    
char *getmonth( int n );
    
int main()
{
    int n;
    char *s;
    
    scanf("%d", &n);
    s = getmonth(n);
    if ( s==NULL ) printf("wrong input!\n");
    else printf("%s\n", s);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例1:

5

输出样例1:

May

输入样例2:

15

输出样例2:

wrong input!

代码:

char *getmonth( int n )
{

    if(n>12||n<=0) return NULL;
    else
    {
       if(n==1) return "January";
       if(n==2) return "February";
       if(n==3) return "March";
       if(n==4) return "April";
       if(n==5) return "May";
       if(n==6) return "June";
       if(n==7) return "July";
       if(n==8) return "August";
       if(n==9) return "September";
       if(n==10) return "October";
       if(n==11) return "November";
       if(n==12) return "December";

    }
}

89、习题11-2 查找星期


本题要求实现函数,可以根据下表查找到星期,返回对应的序号。

序号

星期

0

Sunday

1

Monday

2

Tuesday

3

Wednesday

4

Thursday

5

Friday

6

Saturday

函数接口定义:

int getindex( char *s );

函数 getindex 应返回字符串 s 序号。如果传入的参数 s 不是一个代表星期的字符串,则返回-1。

裁判测试程序样例:

#include <stdio.h>
#include <string.h>
    
#define MAXS 80
    
int getindex( char *s );
    
int main()
{
    int n;
    char s[MAXS];
    
    scanf("%s", s);
    n = getindex(s);
    if ( n==-1 ) printf("wrong input!\n");
    else printf("%d\n", n);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例1:

Tuesday

输出样例1:

2

输入样例2:

today

输出样例2:

wrong input!

代码:

int getindex( char *s )
{
    char str[8][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
    int i,j;
    int len=strlen(s);
    int l=-1;
    for(i=0;i<7;i++)
    {
        if(strcmp(s,str[i])==0)
        {
            l=1;break;
        }
    }
    if(l==1) return i;
    else return -1;
}

90、练习10-1 使用递归函数计算1到n之和


本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。

函数接口定义:

int sum( int n );

该函数对于传入的正整数n返回1+2+3+…+n的和;若n不是正整数则返回0。题目保证输入输出在长整型范围内。建议尝试写成递归函数。

裁判测试程序样例:

#include <stdio.h>
    
int sum( int n );
    
int main()
{
    int n;
    
    scanf("%d", &n);
    printf ("%d\n", sum(n));
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例1:

10

输出样例1:

55

输入样例2:

0

输出样例2:

0

代码:

int sum( int n )
{
   if(n>0)
   {
     if(n==1) return 1;
     else return n+sum(n-1);
   }
   else return 0;
}

91、习题10-2 递归求阶乘和


本题要求实现一个计算非负整数阶乘的简单函数,并利用该函数求 1!+2!+3!+...+n! 的值。

函数接口定义:

double fact( int n );
double factsum( int n );

函数 fact 应返回 n 的阶乘,建议用递归实现。函数 factsum 应返回 1!+2!+...+ n! 的值。题目保证输入输出在双精度范围内。

裁判测试程序样例:

#include <stdio.h>
    
double fact( int n );
double factsum( int n );
    
int main()
{
    int n;
    
    scanf("%d",&n);
    printf("fact(%d) = %.0f\n", n, fact(n));
    printf("sum = %.0f\n", factsum(n));
      
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例1:

10

输出样例1:

fact(10) = 3628800
sum = 4037913

输入样例2:

0

输出样例2:

fact(0) = 1
sum = 0

代码:

double fact( int n )
{
  if(n==1||n==0) return 1;
  else return n*fact(n-1);
}
double factsum( int n )
{
  int i;
  double sum=0;
  if(n==0) return 0;
  else
  {
    for(i=1;i<=n;i++)
    sum+=fact(i);
    return sum;
  }
}

92、习题8-5 使用函数实现字符串部分复制


本题要求编写函数,将输入字符串t中从第m个字符开始的全部字符复制到字符串s中。

函数接口定义:

void strmcpy( char *t, int m, char *s );

函数strmcpy将输入字符串char *t中从第m个字符开始的全部字符复制到字符串char *s中。若m超过输入字符串的长度,则结果字符串应为空串。

裁判测试程序样例:


#include <stdio.h>
#define MAXN 20
    
void strmcpy( char *t, int m, char *s );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */
    
int main()
{
    char t[MAXN], s[MAXN];
    int m;
    
    scanf("%d\n", &m);
    ReadString(t);
    strmcpy( t, m, s );
    printf("%s\n", s);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

7
happy new year

输出样例:

new year

代码:

void strmcpy( char *t, int m, char *s )
{
    int len=strlen(t);
    int i=0;
    if(m>len) *s=NULL;
    else
    {
        m=m-1;
        while(t[m]!='\0')
        {
            s[i++]=t[m];
            m++;
        }
        s[i]='\0';
    }
}

93、习题8-6 删除字符


本题要求实现一个删除字符串中的指定字符的简单函数。

函数接口定义:

void delchar( char *str, char c );

其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。

裁判测试程序样例:

#include <stdio.h>
#define MAXN 20
    
void delchar( char *str, char c );
void ReadString( char s[] ); /* 由裁判实现,略去不表 */
    
int main()
{
    char str[MAXN], c;
    
    scanf("%c\n", &c);
    ReadString(str);
    delchar(str, c);
    printf("%s\n", str);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

a
happy new year

输出样例:

hppy new yer

代码:

void delchar( char *str, char c )
{
    int len=strlen(str);
    char *strTemp=(char*)malloc(sizeof(char)*len);
    int i=0;
    int t=0;
    while(str[i]!='\0')
    {
       if(str[i]!=c) strTemp[t++]=str[i];
       i++;
    }
    strTemp[t]='\0';
    for(i=0;i<=t;i++)
        str[i]=strTemp[i];
}

94、习题8-8 判断回文字符串


本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。

函数接口定义:

bool palindrome( char *s );

函数palindrome判断输入字符串char *s是否为回文。若是则返回 true ,否则返回 false 。

裁判测试程序样例:

#include <stdio.h>
#include <string.h>
    
#define MAXN 20
typedef enum {false, true} bool;
    
bool palindrome( char *s );
    
int main()
{
    char s[MAXN];
    
    scanf("%s", s);
    if ( palindrome(s)==true )
        printf("Yes\n");
    else
        printf("No\n");
    printf("%s\n", s);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例1:

thisistrueurtsisiht

输出样例1:

Yes
thisistrueurtsisiht

输入样例2:

thisisnottrue

输出样例2:

No
thisisnottrue

代码:

bool palindrome( char *s )
{
    int len=strlen(s);
    int i;
    int l=1;
    for(i=0;i<len/2;i++)
    {
        if(s[i]!=s[len-1-i])
        {
            l=0;
            break;
        }
    }
    if(l==1) return true;
    else return false;
}

95、习题10-3 递归实现指数函数


本题要求实现一个计算(n≥1)的函数。

函数接口定义:

double calc_pow( double x, int n );

函数 calc_pow 应返回 x 的 n 次幂的值。建议用递归实现。题目保证结果在双精度范围内。

裁判测试程序样例:

#include <stdio.h>
    
double calc_pow( double x, int n );
    
int main()
{
     double x;
    int n;
    
    scanf("%lf %d", &x, &n);
    printf("%.0f\n", calc_pow(x, n));
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

2 3

输出样例:

8

代码:

double calc_pow( double x, int n )
{
  if(n==1) return x;
  else return x*calc_pow(x,n-1);
}

96、习题10-4 递归求简单交错幂级数的部分和


本题要求实现一个函数,计算下列简单交错幂级数的部分和:

f(x,n)=x−−−

函数接口定义:

double fn( double x, int n );

其中题目保证传入的n是正整数,并且输入输出都在双精度范围内。函数fn应返回上述级数的部分和。建议尝试用递归实现。

裁判测试程序样例:

#include <stdio.h>
    
double fn( double x, int n );
    
int main()
{
    double x;
    int n;
    
    scanf("%lf %d", &x, &n);
    printf("%.2f\n", fn(x,n));
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

0.5 12

输出样例:

0.33

代码:

double fn( double x, int n )
{
    if(n==1) return x;
    else return pow(-1,n-1)*pow(x,n)+fn(x,n-1);
}

97、习题10-5 递归计算Ackermenn函数


本题要求实现Ackermenn函数的计算,其函数定义如下:

函数接口定义:

int Ack( int m, int n );

其中 m 和 n 是用户传入的非负整数。函数 Ack 返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。

裁判测试程序样例:

#include <stdio.h>
    
int Ack( int m, int n );
    
int main()
{
    int m, n;
    
    scanf("%d %d", &m, &n);
    printf("%d\n", Ack(m, n));
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

2 3

输出样例:

9

代码:

int Ack( int m, int n )
{
    if(m==0) return n+1;
    else
    {
        if(n==0&&m>0) return Ack(m-1,1);
        if(n>0&&m>0) return Ack(m-1,Ack(m,n-1));
    }
}

98、习题10-6 递归求Fabonacci数列


本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:

f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。

函数接口定义:

int f( int n );

函数 f 应返回第 n 个Fabonacci数。题目保证输入输出在长整型范围内。建议用递归实现。

裁判测试程序样例:

#include <stdio.h>
    
int f( int n );
    
int main()
{
    int n;
    
    scanf("%d", &n);
    printf("%d\n", f(n));
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

6

输出样例:

8

代码:

int f( int n )
{
    if(n==0||n==1) return n;
    //else if(n==1) return 1;
    else
    {
        return f(n-2)+f(n-1);
    }
}

99、习题10-7 十进制转换二进制


本题要求实现一个函数,将正整数n转换为二进制后输出。

函数接口定义:

void dectobin( int n );

函数 dectobin 应在一行中打印出二进制的 n 。建议用递归实现。

裁判测试程序样例:

#include <stdio.h>
    
void dectobin( int n );
    
int main()
{
   int n;
    
    scanf("%d", &n);
    dectobin(n);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

10

输出样例:

1010

代码:

void dectobin( int n )
{
    if(n<2) printf("%d",n%2);
    else
    {
        dectobin(n/2);
        printf("%d",n%2);
    }
}

100、习题10-8 递归实现顺序输出整数


本题要求实现一个函数,对一个整数进行按位顺序输出。

函数接口定义:

void printdigits( int n );

函数 printdigits 应将 n 的每一位数字从高位到低位顺序打印出来,每位数字占一行。

裁判测试程序样例:

#include <stdio.h>
    
void printdigits( int n );
    
int main()
{
    int n;
     
    scanf("%d", &n);
    printdigits(n);
    
    return 0;
}
    
/* 你的代码将被嵌在这里 */

输入样例:

12345

输出样例:

1
2
3
4
5

代码:

void printdigits( int n )
{
    if(n<=10) printf("%d\n",n%10);
    else
    {   printdigits(n/10);
        printf("%d\n",n%10);

    }
}

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

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

相关文章

分享113个HTML娱乐休闲模板,总有一款适合您

分享113个HTML娱乐休闲模板&#xff0c;总有一款适合您 113个HTML娱乐休闲模板下载链接&#xff1a;https://pan.baidu.com/s/1aWYO2j2pSTjyqlQPHa0-Jw?pwdbium 提取码&#xff1a;bium Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 海上的沤鸟HTML网页模板…

(三十六)Vue解决Ajax跨域问题

文章目录环境准备vue的跨域问题vue跨域问题解决方案方式一方式二上一篇&#xff1a;&#xff08;三十五&#xff09;Vue之过渡与动画 环境准备 首先我们要借助axios发送Ajax&#xff0c;axios安装命令&#xff1a;npm i axios 其次准备两台服务器&#xff0c;这里使用node.j…

Linux | 网络通信 | 序列化和反序列化的讲解与实现

文章目录为什么要序列化&#xff1f;协议的实现服务端与客户端代码实现为什么要序列化&#xff1f; 由于默认对齐数的不同&#xff0c;不同的平台对相同数据进行内存对齐后&#xff0c;可能得到不同的数据。如果直接将这些数据进行网络传输&#xff0c;对方很可能无法正确的获…

【数据结构】单链表的接口实现(附图解和源码)

单链表的接口实现&#xff08;附图解和源码&#xff09; 文章目录单链表的接口实现&#xff08;附图解和源码&#xff09;前言一、定义结构体二、接口实现&#xff08;附图解源码&#xff09;1.开辟新空间2.头插数据3.头删数据4.打印整个单链表5.尾删数据6.查找单链表中的数据7…

Linux 磁盘挂载

目录 Linux硬盘分区 硬盘设备的文件名 /dev/sd[a-z] 硬盘分区 识别硬盘的文件名 Linux文件系统 文件系统类型 Linux如何保存文件 VFS虚拟文件系统 磁盘挂载命令 lsblk 查看系统的磁盘使用情况 fdisk 硬盘分区 mkfs 格式化文件系统 mount 挂载命令 df 显示磁盘空间…

Java中的链表实现介绍

Java中的链表实现介绍 学习数据结构的的链表和树时&#xff0c;会遇到节点&#xff08;node&#xff09;和链表&#xff08;linked list&#xff09;这两个术语&#xff0c;节点是处理数据结构的链表和树的基础。节点是一种数据元素&#xff0c;包括两个部分&#xff1a;一个是…

pytest总结

这里写目录标题一、pytest的命名规则二、界面化配置符合命名规则的方法前面会有运行标记三、pytest的用例结构三部分组成四、pytest的用例断言断言写法&#xff1a;五、pytest测试框架结构六、pytest参数化用例1、pytest参数化实现方式2、单参数&#xff1a;每一条测试数据都会…

第五十七章 树状数组(二)

第五十七章 树状数组&#xff08;二&#xff09;一、差分的缺陷二、树状数组与差分三、例题题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示样例 1 解释&#xff1a;数据规模与约定代码一、差分的缺陷 差分的作用是能够在O(1)的时间内给一段区间加上相同的数字&am…

【计算机网络】数据链路层(上)

文章目录数据链路层概述封装成帧透明传输差错检测奇偶校验循环冗余校验CRC可靠传输可靠传输基本概念实现机制 — 停止-等待协议实现机制 — 回退N帧协议实现机制 — 选择重传协议点对点协议PPP数据链路层概述 首先我蛮来看看数据链路层在网络体系结构中的地位。如图所示主机h1…

key的作用原理与列表的遍历、追加、搜索、排序

目录 一、key的作用原理 二、实现列表遍历并对在列表最前方进行追加元素 三、实现列表过滤搜索 1、用computed计算属性来实现 2、用watch监听输入值的变化来实现 四、按年龄排序输出列表 一、key的作用原理 1. 虚拟DOM中key的作用&#xff1a; key是虚拟DOM对象的标识&a…

博彩公司 BetMGM 发生数据泄露,“赌徒”面临网络风险

Bleeping Computer 网站披露&#xff0c;著名体育博彩公司 BetMGM 发生一起数据泄露事件&#xff0c;一名威胁攻击者成功窃取其大量用户个人信息。 据悉&#xff0c;BetMGM 数据泄漏事件中&#xff0c;攻击者盗取了包括用户姓名、联系信息&#xff08;如邮政地址、电子邮件地址…

Unity如何实现3D物体拆解组装

一.前言 最近有一个需求,是做一个发动机的拆卸和安装功能,其实是一个很简单的功能,但是其中有一个点我觉的非常有意思,就是拖拽组装时,物体如何精准拖到目标位置,思路有了,但是我一直找不到实现方式,早晨刷牙时无意间想到了叉乘,我才有了解决方案。就凭这一次的灵光乍…

AutoJs7、8版本快速接通vscode进行调试脚本

AutoJs7、8版本快速接通vscode进行调试脚本 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 # AutoJs7、8快速接通vscode进行调试脚本一、下载AutoJs并安装 https://download.csdn.net/download/huangbangqing12/87449177 下载完成后,…

【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波

【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波 文章目录【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波1. 前言2. 符号说明3. 三种滤波3.1 全通滤波3.2 低通滤波3.2.1 平滑信号分析3.2.2 广义拉普拉斯平滑滤波器3.3 高通滤波4. 总结1. 前言 GCN&…

同步互斥与通信

我们可以把多任务系统当作一个团队&#xff0c;里面的每一个任务都相当于团队里的一个人。团队成员之间要协调工作进度&#xff08;同步&#xff09;、争用会议室&#xff08;互斥&#xff09;、沟通&#xff08;通信&#xff09;。多任务系统所涉及的概念&#xff0c;都可以在…

Spring之事务底层源码解析

Spring之事务底层源码解析 1、EnableTransactionManagement工作原理 开启 Spring 事务本质上就是增加了一个 Advisor&#xff0c;当我们使用 EnableTransactionManagement 注解来开启 Spring 事务时&#xff0c;该注解代理的功能就是向 Spring 容器中添加了两个 Bean&#xf…

【算法基础】并查集⭐⭐⭐⭐⭐【思路巧,代码短,面试常考】

并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中。其特点是看似并不复杂,但数据量…

二叉树的相关列题!!

对于二叉树&#xff0c;很难&#xff0c;很难&#xff01;笔者也是感觉很难&#xff01;虽然能听懂课程&#xff0c;但是&#xff0c;对于大部分的练习题并不能做出来&#xff01;所以感觉很尴尬&#xff01;&#xff01;因此&#xff0c;笔者经过先前的那篇博客&#xff0c;已…

Windows下编译安装Redis

Windows下安装Redis1.下载cygwin2.安装cygwin3.下载Redis4.编译Redis5.运行redis6.报错&#xff1a;继上次Windows下安装MySQL后&#xff0c;今天安装Redis发现也复杂许多&#xff0c;github上有几个仓库似乎提供了windows一键安装版&#xff0c;但是到 5.0版本就不更新了……所…

python机器学习

机器学习可分为两大类&#xff0c;分别为监督学习与非监督学习 监督学习 监督学习是机器学习的类型&#xff0c;其中机器使用“标记好”的训练数据进行训练&#xff0c;并基于该数据&#xff0c;机器预测输出。标记的数据意味着一些输入数据已经用正确的输出标记。 在监督学习…