计算机二级C语言的注意事项及相应真题-4-程序修改

目录:

    • 31.逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串
    • 32.求矩阵(二维数组)a[N][N]中每行的最小值,结果存放到数组b中
    • 33.将一个十进制整数转换成r(二~十六)进制形式
    • 34.逐个判断字符串s2中的字符是否在字符串s1中出现过,并把出现过的字符按照原来在s2中的顺序形成新字符串s3,不去除重复字符
    • 35.将a串奇数位置(注意:不是下标)上的字符与b串偶数位置上的字符交叉合并,形成一个新字符串存入c所指的存储空间。合并过程中,任何一个字符串到达串尾,则合并过程结束
    • 36.应用递归算法求形参a的平方根
    • 37.求出以下分数序列的前n项之和
    • 38.交换主函数中两个变量的值
    • 39.将字符串s1和s2合并形成新字符串s3
    • 40.根据整型形参n,计算如下公式的值

31.逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串

给定程序modi1.c中,函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c所指数组中,形成一个新的字符串。

例如,若主函数中a字符串为: aBCDeFgH

主函数中b字符串为: ABcd

则c中的字符串应为: aBcdeFgH。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

modi1.c:

 #include <stdio.h>
#include <string.h>
void  fun(char *p ,char *q, char *c)
{
/************found************/
  int k = 1;//从后面看来,k是数组c的下标,下标应该从0开始
/************found************/
    while( *p != *q )//这个while循环应该是遍历数组a和数组b,跟数组元素相不相等没有关系,理解了题意,应该很简单
    {  if( *p<*q )  c[k]=*q;//这个if判断谁ASCII码大,就把谁存入数组c
       else         c[k]=*p;
       if(*p) p++;//若此时指针指向的位置有元素,则指针后移,下面那句同理
       if(*q) q++; 
       k++; 
    }
}
main()
{   char  a[10]="aBCDeFgH", b[10]="ABcd", c[80]={'\0'};
    fun(a,b,c);
    printf("The string a:  ");  puts(a);
    printf("The string b:  ");  puts(b);
    printf("The result  :  ");  puts(c);
  getchar();
}

解题思路:
没什么难度,题目代码意图很清晰╰(°▽°)╯

答案:

#include <stdio.h>
#include <string.h>
void  fun(char *p ,char *q, char *c)
{
/************found************/
  int k = 0;
/************found************/
    while( *p !='\0'|| *q!='\0' )
    {  if( *p<*q )  c[k]=*q;
       else         c[k]=*p;
       if(*p) p++;
       if(*q) q++;  
       k++; 
    }
}
main()
{   char  a[10]="aBCDeFgH", b[10]="ABcd", c[80]={'\0'};
    fun(a,b,c);
    printf("The string a:  ");  puts(a);
    printf("The string b:  ");  puts(b);
    printf("The result  :  ");  puts(c);
  getchar();
}

测试:
在这里插入图片描述

32.求矩阵(二维数组)a[N][N]中每行的最小值,结果存放到数组b中

给定程序MODI1.C中,函数fun的功能是求矩阵(二维数组)a[N][N]中每行的最小值,结果存放到数组b中。

例如:若
则结果应为1,5,9,13,

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

MODI1.C:

#include  <stdio.h>
#define   N   4
void fun(int  a[][N], int  b[])
{   int  i, j;
    for (i=0; i<N; i++)
    {
/**********found**********/
        b[i] = a[0][0];//存入数组b的元素是数组a每行的最小元素,所以数组b的元素的初值应该是数组每一行元素的值,再看下面的for循环是从1开始的,那么这里就该设初值为数组a每一行的第一个元素
/**********found**********/
        for (j=1; j<N-1; j++)//j是列,一行的下标应该是0到N-1,他这样就会少了一列元素,应该是j<=N-1或j<N
/**********found**********/
           if ( b[i] < a[i][j] )//这样的话就是求每一行最大值,题目要求是求每一行最小值
               b[i] = a[i][j];
    }
}
main()
{   int  a[N][N]={{1,4,3,2},{8,6,5,7},{11,10,12,9},{13,16,14,15}},b[N];    int  i;
    fun(a,b);
    for (i=0; i<N; i++)  printf("%d,", b[i]);
    printf("\n");
    getchar();
}

解题思路:
O(∩_∩)O,看看注释吧

答案:

#include  <stdio.h>
#define   N   4
void fun(int  a[][N], int  b[])
{   int  i, j;
    for (i=0; i<N; i++)
    {
/**********found**********/
        b[i] = a[i][0];
/**********found**********/
        for (j=1; j<N; j++)
/**********found**********/
           if ( b[i] > a[i][j] )
               b[i] = a[i][j];
    }
}
main()
{   int  a[N][N]={{1,4,3,2},{8,6,5,7},{11,10,12,9},{13,16,14,15}},b[N];    int  i;
    fun(a,b);
    for (i=0; i<N; i++)  printf("%d,", b[i]);
    printf("\n");
    getchar();
}

测试:
在这里插入图片描述

33.将一个十进制整数转换成r(二~十六)进制形式

给定程序MODI1. C中函数fun的功能是:将一个十进制整数转换成r(二~十六)进制形式。

例如:输入125 16,则输出:7D

输入9 2,则输出:1001

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

MODI1. C:

#include <stdio.h>
void fun(int num, int r)
{   int i = 0, a[32];
    char b[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//数组b是用来存储进制为2到16时的数位字符,方便像转16进制时,转为对应的字母

    do
    {
        a[i] = num % r;//转换对应数制存入数组a
/************found************/
        num %= r;//这里应该是用整除运算符/将num除以进制r的结果赋给num,以便进行下一轮运算
        i++ ;
/************found************/
    } while(num==0);//这样就是num等于0时进入循环了,应该是num等于0或者大于0退出循环
/************found************/
    for(i; i>0; --i)//倒序输出,但a[i]还没有存入数据,应该从i-1开始,还有循环条件这样的话,就漏了下标为0的元素,应该是i>=0
        printf("%c", b[a[i]]);//根据数组a中的每个元素的值作为下标,从数组b中获取对应的数位字符,输出
}

int main()
{   int num, r;
    printf("\n请输入整数和进制:");
    scanf("%d %d", &num, &r);
    fun(num, r);
    printf("\n");
    return 0;
}


解题思路:
这代码非常有意思,我还没有过这种思路,这个数组b在这里起到了存储不同进制下的数位字符的作用

还有第三个改错那里,很容易就忘了倒序输出应该从下标i-1开始

答案:

#include <stdio.h>
void fun(int num, int r)
{   int i = 0, a[32];
    char b[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

    do
    {
        a[i] = num % r;
/************found************/
        num /= r;
        i++;
/************found************/
    } while(num>0);
/************found************/
    for(i=i-1; i>=0; --i)
        printf("%c", b[a[i]]);
}

int main()
{   int num, r;
    printf("\n请输入整数和进制:");
    scanf("%d %d", &num, &r);
    fun(num, r);
    printf("\n");
    return 0;
}


测试:
在这里插入图片描述
在这里插入图片描述

34.逐个判断字符串s2中的字符是否在字符串s1中出现过,并把出现过的字符按照原来在s2中的顺序形成新字符串s3,不去除重复字符

给定程序MODI1. C中,函数fun的功能是:逐个判断字符串s2中的字符是否在字符串s1中出现过,并把出现过的字符按照原来在s2中的顺序形成新字符串s3,不去除重复字符。

例如:当s1为:”abcdefghijk",s2为: “zbcyedmnpggn”时,则s3应该是: "bcedgg”

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

MODI1. C:

#include <stdio.h> 
#include <string.h> 
void fun( char *s1, char *s2, char *s3)
{   int i,j,k=0;
	for(i = 0; i<strlen(s2); i++)  //字符串s2在外循环,s1在内循环,就可以逐个取字符串s2中的字符,遍历s1字符串比对
	{	for(j = 0; j<strlen(s1); j++)  
/**********************found***********************/
			if (s2[i] != s1[j])// 这里应该是有相同字符时跳出,后面那个if分支明显是将字符存入数组s3
			   break;
/**********************found***********************/
		if (j>=strlen(s1))//当j小于s1长度大小,才是匹配到了相同字符,才应该把字符存入数组s3
/**********************found***********************/
			s3[++k]=s2[i];//这里字符存入数组s3应该先赋值后自增,应该用后自增运算符
	}
	s3[k] = '\0';//字符串数组最后以空结尾
}
void main() 
{	char s1[128], s2[128], s3[128];  
	printf("Please input string1:"); 
	gets(s1);   
	printf("Please input string2:");  
	gets(s2);    
	fun(s1,s2,s3);
	printf("string:%s\n", s3);   
}

解题思路:
注释应该就已经讲清楚了(o゚v゚)ノ

答案:

#include <stdio.h> 
#include <string.h> 
void fun( char *s1, char *s2, char *s3)
{   int i,j,k=0;
	for(i = 0; i<strlen(s2); i++)  
	{	for(j = 0; j<strlen(s1); j++)  
/**********************found***********************/
			if (s2[i] == s1[j])
			   break;
/**********************found***********************/
		if (j<strlen(s1))
/**********************found***********************/
			s3[k++]=s2[i];
	}
	s3[k] = '\0';
}
void main() 
{	char s1[128], s2[128], s3[128];  
	printf("Please input string1:"); 
	gets(s1);   
	printf("Please input string2:");  
	gets(s2);    
	fun(s1,s2,s3);
	printf("string:%s\n", s3);   
}

测试:
在这里插入图片描述

35.将a串奇数位置(注意:不是下标)上的字符与b串偶数位置上的字符交叉合并,形成一个新字符串存入c所指的存储空间。合并过程中,任何一个字符串到达串尾,则合并过程结束

给定程序MODI1. C中,函数fun的功能是:将a串奇数位置(注意:不是下标)上的字符与

b串偶数位置上的字符交叉合并,形成一个新字符串存入c所指的存储空间。合并过程中,任何一个字符串到达串尾,则合并过程结束。

例如:a串为: asderty

b串为: zxcvb

则c串为: axdvr

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

MODI1. C:

#include <stdio.h>
void fun( char *a,char *b,char *c)
{  int i=0,j=0;
   while( a[i]!='\0' && b[i]!='\0')//用的且&&,任一字符串到达末尾,跳出循环
   { 
         c[j++]=a[i];//奇数项取数组a的字符
/************found************/ 	   
         if(b[i+1]=='\0') //在while的循环条件里只判断了当前下标为i的项是否有数据,但第i项是奇数位置,所这里要+1判断偶数位置是否有数据,存在数据则存入数组c,但这里成了没有数据进入if分支
	         c[j++]=b[i+1];
         else
/************found************/  
	         continue;//若这里if判断没有数据,也就意味着字符串b到达了串尾    
		 if (a[i+1]=='\0') //很严谨,判断字符串a是否到串尾
			 break;
         i+=2;
   }
/************found************/
   c[j+1]='\0';   //在下标为j就已经是结尾了
}
 main()
{  char a[40]="asderty",b[40]="zxcvb",c[80];
   fun(a,b,c);
   puts(c);
}

解题思路:
很多if分支,(o゜▽゜)o☆

答案:

#include <stdio.h>
void fun( char *a,char *b,char *c)
{  int i=0,j=0;
   while( a[i]!='\0' && b[i]!='\0')
   { 
         c[j++]=a[i];
/************found************/ 	   
         if(b[i+1]!='\0') 
	         c[j++]=b[i+1];
         else
/************found************/  
	         break;    
		 if (a[i+1]=='\0') 
			 break;
         i+=2;
   }
/************found************/
   c[j]='\0';   
}
 main()
{  char a[40]="asderty",b[40]="zxcvb",c[80];
   fun(a,b,c);
   puts(c);
}

测试:
在这里插入图片描述

36.应用递归算法求形参a的平方根

给定程序modi1.c中,函数fun的功能是:应用递归算法求形参a的平方根,求平方根的迭代公式如下:

例如,a=2时,平方根值为: 1.414214。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

modi1.c:

#include <stdio.h>
#include <math.h>
/**********found**********/
double fun(double a, dounle x0)//这里细心些,参数x0的数据类型写错了
{   double   x1, y;
    x1=(x0+ a/x0)/2.0;
/**********found**********/
    if( fabs(x1-xo)>0.00001 )//判断误差,当x1与x0的绝对值的差大于0.00001,再次递归调用fun函数,当误差小于0.00001时,返回计算出的x1,这里是错在变量x0写错了
	  y=fun(a,x1);
    else  y=x1;
    return  y;
}
main( )
{   double  x;
    printf("Enter x: "); scanf("%lf",&x);
    printf("The square root of %lf is %lf\n",x,fun(x,1.0));
    getchar();
}

解题思路:
他这里思路是反复使用题目给的公式,当误差小于要求的精度时,返回结果

答案:

#include <stdio.h>
#include <math.h>
/**********found**********/
double fun(double a, double x0)
{   double   x1, y;
    x1=(x0+ a/x0)/2.0;
/**********found**********/
    if( fabs(x1-x0)>0.00001 )
	  y=fun(a,x1);
    else  y=x1;
    return  y;
}
main( )
{   double  x;
    printf("Enter x: "); scanf("%lf",&x);
    printf("The square root of %lf is %lf\n",x,fun(x,1.0));
    getchar();
}

测试:
在这里插入图片描述

37.求出以下分数序列的前n项之和

给定程序modi1.c中 fun函数的功能是:求出以下分数序列的前n项之和。
请添加图片描述

和值通过函数值返回main ( )函数。

例如,若n = 5,则应输出:8.391667。

请改正函数fun中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

modi1.c:

#include <stdio.h>

/**************found**************/
fun (int n )//可以看到要返回的值是double类型的,所以fun函数应该是double类型
{   int  a = 2, b = 1, c, k ;
    double  s=0.0 ;
    for ( k = 1; k <= n; k++ )
    {  s = s + 1.0 * a / b ;//一项一项的加
/**************found**************/
       c = a;  a += b; b += c;//要看懂题目公式,每一项都是分母是前一项的分母和分子之和,分子是前一项的分母
    }
    return(s) ;
}

main( )
{   int   n = 5 ;
    printf( "\nThe value of  function is: %lf\n",  fun (  n ) ) ;
    getchar();
}

解题思路:
实质算是找规律的题,公式里一项一项的变化╰( ̄ω ̄o)

答案:

#include <stdio.h>

/**************found**************/
double fun (int n )
{   int  a = 2, b = 1, c, k ;
    double  s=0.0 ;
    for ( k = 1; k <= n; k++ )
    {  s = s + 1.0 * a / b ;
/**************found**************/
       c = a;  a += b; b = c;
    }
    return(s) ;
}

main( )
{   int   n = 5 ;
    printf( "\nThe value of  function is: %lf\n",  fun (  n ) ) ;
    getchar();
}

测试:
在这里插入图片描述

38.交换主函数中两个变量的值

给定程序MODI1.C中函数fun的功能是:交换主函数中两个变量的值。例如:若变量a中的值原为8,b中的原值为3。程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

MODI1.C:

#include <stdio.h>

/*********found**********/
void fun(int x,int y)//这里的参数应该用指针接收
{
  int t;
/*********found**********/
  t=x;x=y;y=t;//交换赋值,但赋值的时候,指针应该用解引符
}

main()
{
  int a,b;
  a=8;b=3;
  fun(&a,&b);//传过去的参数是地址
  printf("%d,  %d\n",a,b);
  getchar();
}

解题思路:
总之就记住指针变量代表的是地址,加了解引符才是实参的值

答案:

#include <stdio.h>

/*********found**********/
void fun(int *x,int *y)
{
  int t;
/*********found**********/
  t=*x;*x=*y;*y=t;
}

main()
{
  int a,b;
  a=8;b=3;
  fun(&a,&b);
  printf("%d,  %d\n",a,b);
  getchar();
}

测试:
在这里插入图片描述

39.将字符串s1和s2合并形成新字符串s3

给定程序MODI1. C中,函数fun的功能是:将字符串s1和s2合并形成新字符串s3,假定s1

字符串的长度为L1,s2的长度为L2。合并方法为:把s2的第L2-i-1个字符插入到原s1的第i个字符后,如果s1比s2长,则s1剩余的部分按在s1中的顺序放在新生成的s3后;如果s2比s1长,则s2剩余的部分按在s2中的顺序的逆序放在新生成的s3后。

例如:当s1为:“123456789012345”,

s2为:“abcedfghijk”时,

输出结果应该是: “1k2j3i4h5g6f7 e8d9c0b1a2345”

请改正程序中的错误,使它能得出正确结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

MODI1. C:

#include <stdio.h>
#include <string.h>
void fun(char *s1, char *s2, char *s3)
{
	int i,j,L2;
	L2=strlen(s2);
	for(i=0,j=0;(s1[i]!='\0')&&(s2[i]!='\0');i++,j=j+2)//字符串s1或字符串s2到串尾,则结束for循环,每次循环都会存入字符串s3两个字符,所以j自增每次加2
	{
		s3[j]=s1[i];
/***********found**********/
		s3[j+1]=s2[i];//依题目s2应该将第L2-i-1个字符插入到s3,实际上也就是将s2倒序插入的意思
	}
/***********found**********/
	if(s1[i]=='\0')//这里应该是若s1在前面的for循环没到串尾,则进入,那就应该是不等于空时进入
		for(;s1[i]!='\0';i++,j+=1)
			s3[j]=s1[i];//将s1剩下的字符接在s3后
	else if (s2[i]!='\0')//若s2在前面的for循环没到串尾
		for(;s2[i]!='\0';i++,j++)
			s3[j]=s2[L2-1-i];//倒序接在s3后
/***********found**********/
	s3[i]='0';//字符串s3的下标应该是j,这里字符串结束应该是赋为空字符'\0'
}
void main()
{
	char s1[128], s2[128], s3[255];
	printf("Please input string1:");
	gets(s1);
	printf("Please input string2:");
	gets(s2);
	fun(s1,s2,s3);
	printf("string %s\n", s3);
}

解题思路:
题目的意思就是字符串s1和倒序的s2合并形成新字符串s3

答案:

#include <stdio.h>
#include <string.h>
void fun(char *s1, char *s2, char *s3)
{
	int i,j,L2;
	L2=strlen(s2);
	for(i=0,j=0;(s1[i]!='\0')&&(s2[i]!='\0');i++,j=j+2)
	{
		s3[j]=s1[i];
/***********found**********/
		s3[j+1]=s2[L2-i-1];
	}
/***********found**********/
	if(s1[i]!='\0')
		for(;s1[i]!='\0';i++,j+=1)
			s3[j]=s1[i];
	else if (s2[i]!='\0')
		for(;s2[i]!='\0';i++,j++)
			s3[j]=s2[L2-1-i];
/***********found**********/
	s3[j]='\0';
}
void main()
{
	char s1[128], s2[128], s3[255];
	printf("Please input string1:");
	gets(s1);
	printf("Please input string2:");
	gets(s2);
	fun(s1,s2,s3);
	printf("string %s\n", s3);
}

测试:
在这里插入图片描述

40.根据整型形参n,计算如下公式的值

给定程序MODI1.C中函数fun的功能是:根据整型形参n,计算如下公式的值。
请添加图片描述

例如,若n=10,则应输出:0.617977。

请改正程序中的语法错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

MODI1.C:

#include <stdio.h>
/************found************/
int  fun ( int n )//要返回的是float类型的数,
{  float  A=1; int i;
/************found************/
   for (i=2; i<n; i++)//从公式中可以看出,这样for循环漏了第n项,
     A = 1/(1+A);
   return A ;
}

main( )
{  int  n ;

   printf("\nPlease enter n: ") ;
   scanf("%d", &n ) ;
   printf("A%d=%f\n", n, fun(n) ) ;
  getchar();
}

解题思路:
不难,要考试都这种题就好了╰( ̄ω ̄o)

答案:

#include <stdio.h>
/************found************/
float  fun ( int n )
{  float  A=1; int i;
/************found************/
   for (i=2; i<=n; i++)
     A = 1/(1+A);
   return A ;
}

main( )
{  int  n ;

   printf("\nPlease enter n: ") ;
   scanf("%d", &n ) ;
   printf("A%d=%f\n", n, fun(n) ) ;
  getchar();
}

测试:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vulnhub靶场 DC-9

目录 一、环境搭建 二、信息收集 1、主机发现 2、指纹识别 三、漏洞复现 1、dirsearch目录探测 2、sqlmap注入测试 3、文件包含漏洞 4、Knockd敲门服务 5、ssh爆破 ​​​​​​​6、提权 四、提取flag 一、环境搭建 Vulnhub靶机下载&#xff1a; 官网地址&#xff1a;https://…

Spring Boot 笔记 007 创建接口_登录

1.1 登录接口需求 1.2 JWT令牌 1.2.1 JWT原理 1.2.2 引入JWT坐标 1.2.3 单元测试 1.2.3.1 引入springboot单元测试坐标 1.2.3.2 在单元测试文件夹中创建测试类 1.2.3.3 运行测试类中的生成和解析方法 package com.geji;import com.auth0.jwt.JWT; import com.auth0.jwt.JWTV…

2.第一个Electron程序

目录 一、前言二、基本运行结构三、代码详解四、打包 一、前言 原文以及系列文章后续请参考&#xff1a;第一个Electron程序 上一章我们完成了Electron的环境搭建&#xff0c;本章就开始详解如何使用Electron开发一个完整的Electron桌面端程序。 注意开发环境&#xff0c;个…

可视化工具:将多种数据格式转化为交互式图形展示的利器

引言 在数据驱动的时代&#xff0c;数据的分析和理解对于决策过程至关重要。然而&#xff0c;不同的数据格式和结构使得数据的解读变得复杂和困难。为了解决这个问题&#xff0c;一种强大的可视化工具应运而生。这个工具具有将多种数据格式&#xff08;包括JSON、YAML、XML、C…

【在Linux世界中追寻伟大的One Piece】Linux是从哪里来的?又是怎么发展的?基本指令你知道哪些?

目录 1 -> Linux背景 1.1 -> Linux发展史 1.1.1 -> UNIX发展历史 1.1.2 -> Linux发展历史 1.2 -> 开源 1.3 -> 官网 1.4 -> 企业应用现状 1.5 -> 发行版本 1.6 -> OS概念&#xff0c;定位 2 -> Linux下基本指令 2.1 -> Is指令 2…

不懂编程?节点包来凑——Dynamo常用节点包推荐(上)

由于篇幅有限&#xff0c;本次文章我们分上、下两篇&#xff0c;来分享给大家。 Dynamo作为一款辅助三维设计工具&#xff0c;他可以通过图形化的编程&#xff0c;帮我们解决很多在设计或者建模过程中遇到的小问题&#xff1b;同时他作为一款可视化编程软件&#xff0c;学起来…

1921:【02NOIP普及组】过河卒

1921&#xff1a;【02NOIP普及组】过河卒 【题目描述】 如图&#xff0c;A点有一个过河卒&#xff0c;需要走到目标B点。卒行走的规则&#xff1a;可以向下、或者向右。 同时在棋盘上的任一点有一个对方的马&#xff08;如上图的C点&#xff09;&#xff0c;该马所在的点和所有…

turtle画闪烁发光的字体

使用随机生成的RGB颜色来绘制文本 # Author : 小红牛 # 微信公众号&#xff1a;WdPython import turtle as t import random import timet.title(闪烁发光的字体) t.setup(550, 100) t.bgcolor(black) t.ht()# 1.定义一个函数来生成随机RGB颜色 def get_RGB():return ("#…

五.实战软件部署 1-3实战章节-前言MYSQL 5.7版本在centos系统安装MYSQL 8.0版本在centos系统安装

目录 五.实战软件部署 1-实战章节-前言 五.实战软件部署 2-MYSQL 5.7版本在centos系统安装 1-配置yum仓库 2-使用yum安装mysql 3-安装完成后&#xff0c;启动mysql并配置开机自启动 4-检查mysql的运行状态 --配置 1-获取mysql的初识密码 2-登录mysql数据库系统 3-修改…

网安常用的三个攻击方式

1.渗透测试执行标准&#xff08;PTES&#xff09; 渗透测试执行标准由7个部分组成&#xff0c;包括前期交互、情报收集、威胁建模、漏洞分析、渗透利用、后渗透、撰写报告。在中国&#xff0c;渗透测试必须经过授权&#xff0c;否则就违背了网络安全法。前期交互主要指开展渗透…

书生谱语-基于 InternLM 和 LangChain 搭建知识库

大语言模型与外挂知识库&#xff08;RAG&#xff09;的优缺点 RAG方案构建与优化 作业 在创建web_demo时&#xff0c;需要根据教程将服务器端口映射到本地端口&#xff0c;另外需要将链接的demo从服务器中复制出来&#xff0c;不要直接从服务器打开demo页面&#xff0c;不然会…

Redis 单线程

文章目录 Redis单线程架构Redis 单线程访问速度IO多路复用原理 Redis单线程架构 Redis的单线程架构的效果为&#xff1a;Redis的单线程是对于服务端而言的&#xff0c;Redis允许多个Redis用户端同时在线操作&#xff0c;但同时只有一个用户端在和服务端交互。多个用户同时发送…

VMware清理拖拽缓存 Ubuntu硬盘情况占用分析

这两天在尝试编译Linux源码&#xff0c;我在win上将源码下载下来然后复制到ubuntu上&#xff0c;这一步我粗略看到了三种方法&#xff1a;安装VM tools&#xff0c;就可以使文件正常的在win和ubuntu中复制剪切&#xff1b;使用scp命令将win和linux系统链接起来&#xff1b;使用…

英伟达依托AI市值超谷歌,这波AI浪潮,你赶上了吗

随着人工智能(AI)技术的迅猛发展&#xff0c;全球科技行业的竞争格局正在发生着翻天覆地的变化。PS&#xff1a;如果你需要使用ChatGPT&#xff0c;可以参考这篇文章&#xff1a;【新手向】ChatGPT入门指南 - 订阅GPT4之前必须了解的十件事情 英伟达&#xff0c;一家以其高性能…

《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)

文章目录 6.1 CI/CD基础6.1.1 基础知识讲解6.1.2 重点案例&#xff1a;为 Python Web 应用实现 CI/CD6.1.3 拓展案例 1&#xff1a;自动化部署到云平台6.1.4 拓展案例 2&#xff1a;使用 Docker 容器化部署 6.2 Git 与自动化测试6.2.1 基础知识讲解6.2.2 重点案例&#xff1a;为…

二叉树的垂直遍历

1.题目 这道题是2024-2-13的签到题&#xff0c;题目难度为困难。 考察的知识点是DFS算法和自定义排序。 题目链接&#xff1a;二叉树的垂直遍历 给你二叉树的根结点 root &#xff0c;请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言&#xff…

卷积神经网络(CNN)

本文仅在理论方面讲述CNN相关的知识&#xff0c;并给出AlexNet, Agg, ResNet等网络结构的代码。 1.构成 ​ 由输入层、卷积层、池化层、全连接层构成。 输入层&#xff1a;输入数据卷积层&#xff1a;提取图像特征池化层&#xff1a;压缩特征全连接层&#xff1a;为输出准备…

解锁未来:探秘Zxing二维码技术的神奇世界

解锁未来&#xff1a;探秘Zxing二维码技术的神奇世界 1. 引言 在当今数字化和智能化的社会中&#xff0c;二维码技术已经成为人们生活中不可或缺的一部分。从商品购物、支付结算到健康码、门票核销&#xff0c;二维码无处不在&#xff0c;极大地方便了人们的生活和工作。而Zx…

mysq开启慢查询日志,对慢查询进行优化

1.创建实验的环境 创建对应的数据库&#xff0c;然后写脚本向数据库中写入400万条的数据 //创建实验用的数据库 CREATE DATABASE jsschool;//使用当前数据库 USE jsschool;//创建学生表 CREATE TABLE student (sno VARCHAR(20) PRIMARY KEY COMMENT 学生编号,sname VARCHAR(20…

Java 基于springboot+vue的民宿管理系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…
最新文章