计算机二级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码大,就把谁存入数组celse         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>=0printf("%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分支明显是将字符存入数组s3break;
/**********************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.mzph.cn/news/680903.shtml

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

相关文章

那些 C语言指针 你不知道的小秘密 (完结篇)

本篇会加入个人的所谓‘鱼式疯言’ ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 我会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人能…

【GO语言卵细胞级别教程】05.项目创建和函数讲解

感谢&#xff01;点点赞和评论呀&#xff01;我将继续更新 目录&#xff1a; 感谢&#xff01;点点赞和评论呀&#xff01;我将继续更新0.创建项目1.函数的引入2.注意事项3.详细介绍3.1 形参介绍 4.导入包4.1 基本知识4.2 注意事项 0.创建项目 创建目录 执行命令加载模块 cd 0…

【刷题记录】——时间复杂度

本系列博客为个人刷题思路分享&#xff0c;有需要借鉴即可。 1.目录大纲&#xff1a; 2.题目链接&#xff1a; T1&#xff1a;消失的数字&#xff1a;LINK T2&#xff1a;旋转数组&#xff1a;LINK 3.详解思路&#xff1a; T1&#xff1a; 思路1&#xff1a;先排序&#xf…

【python】print输出的格式化

在Python中&#xff0c;有几种方式来格式化prin函数的输出。以下是一些常见的方法&#xff1a; 1. 使用百分号 % 运算符&#xff08;传统方法&#xff09;: 使用 % 操作符来进行格式化是一种较老的方法&#xff0c;但它仍然有效。 name "Alice"age 25print("…

线性代数的本质 1 向量

向量是线性代数中最为基础的概念。 何为向量&#xff1f; 从物理上看&#xff0c; 向量就是既有大小又有方向的量&#xff0c;只要这两者一定&#xff0c;就可以在空间中随便移动。 从计算机应用的角度看&#xff0c;向量和列表很接近&#xff0c;可以用来描述某对象的几个不同…

【Java程序设计】【C00268】基于Springboot的CSGO赛事管理系统(有论文)

基于Springboot的CSGO赛事管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的赛事管理系统 本系统分为系统功能模块、管理员功能模块、参赛战队功能模块以及合作方功能模块。 系统功能模块&#xff1a;在系…

基于SpringBoot的助农产品采购平台

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

MySQL数据库⑨_事务(四个属性+回滚提交+隔离级别+MVCC)

目录 1. 事务的概念和四个属性 2. 事务的支持版本 3. 事务的提交方式 4. 事务的相关演示 4.1 常规操作_回滚_提交 4.2 原子性_演示 4.3 持久性_演示 4.4 begin自动更改提交方式 4.5 单条SQL与事务的关系 5. 事务的隔离级别 5.1 四种隔离级别 5.2 查看与设置隔离级别…

计算机毕业设计 | vue+SpringBoot选课管理系统(附源码)

1&#xff0c;绪论 1.1 开发背景 随着我国高等教育的发展&#xff0c;数字化校园将成为一种必然的趋势&#xff0c;国内高校迫切需要提高教育工作的质量与效率&#xff0c;学生成绩管理工作是高校信息管理工作的重要组成部分&#xff0c;与国外高校不同&#xff0c;他们一般具…

数字图像处理实验记录八(图像压缩实验)

前言&#xff1a;做这个实验的时候很忙&#xff0c;就都是你抄我我抄你了 一、基础知识 1&#xff0e;为什么要进行图像压缩&#xff1a; 图像的数据量巨大&#xff0c;对计算机的处理速度、存储容量要求高。传输信道带宽、通信链路容量一定&#xff0c;需要减少传输数据量&a…

渗透测试练习题解析 3(CTF web)

1、[网鼎杯 2020 朱雀组]phpweb 1 考点&#xff1a;反序列化漏洞利用 进入靶场&#xff0c;查看检查信息&#xff0c;发现存在两个参数 func 和 p 查看页面源代码 payload&#xff1a;funcfile_get_contents&pphp://filter/resourceindex.php 整理后&#xff0c;就是 PHP 代…

【STM32 CubeMX】HAL库的本质读写寄存器

文章目录 前言一、HAL库的本质1.1 HAL库的本质是操作寄存器1.2 自己实现HAL_GPIO_WritePin寄存器通过寄存器的操作点灯代码概况Port bit set/reset register寄存器 总结 前言 在嵌入式系统开发中&#xff0c;HAL&#xff08;Hardware Abstraction Layer&#xff09;库是一个重…

计算机服务器中了mkp勒索病毒如何解密,mkp勒索病毒解密流程

随着网络技术的不断发展与应用&#xff0c;越来越多的企业走向数字化办公模式&#xff0c;计算机极大地方便了企业的正常生产运营&#xff0c;但网络威胁的手段也不断增加。近期&#xff0c;云天数据恢复接到很多企业的求助&#xff0c;企业的计算机服务器遭到了mkp勒索病毒攻击…

Linux_进程间通信

管道 System V 共享内存 System V IPC 接口介绍 由于进程地址空间的存在&#xff0c;所以进程间有具有独立性&#xff0c;一个进程看不到另一个进程的数据。那么如果我们想让进程间通信&#xff0c;就必须先让它们先看到同一份资源。常见的进程间通信的方法有管道&#xff0c;…

前端学习的笔记第二篇

vscode如何快速生成代码 ! Tab 效果&#xff1a; 解析&#xff1a; <!DOCTYPE html>: 指定当前html版本5。 <html lang"en">: lang > language&#xff0c;en > english。指定当前页面内容是英文的。 <meta charset"UTF-8">:…

猫头虎分享:Win11系统家庭版组策略编辑器怎么打开? Windows11家庭版没有gpedit.msc如何解决?

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

滑动小短剧影视微信小程序源码/带支付收益等模式

仿抖音滑动小短剧影视微信小程序源码&#xff0c;带支付收益等模式、支持无限滑动&#xff1b;高性能滑动、预加载、视频预览&#xff0c;支持剧情介绍&#xff0c;集合壁纸另外仿抖音滑动效果&#xff1b;支持会员模式&#xff0c;支持用户单独购买等等多功能。 丰富的后台设…

深度学习基础之《深度学习介绍》

一、深度学习与机器学习的区别 1、特征提取方面 机器学习&#xff1a;人工特征提取 分类算法 深度学习&#xff1a;没有人工特征提取&#xff0c;直接将特征值传进去 &#xff08;1&#xff09;机器学习的特征工程步骤是要靠手工完成的&#xff0c;而且需要大量领域专业知识…

Golang中的fmt包:格式化输入输出的利器

Golang中的fmt包&#xff1a;格式化输入输出的利器 在软件开发的世界里&#xff0c;fmt包就像是一位忠实的伙伴&#xff0c;始终陪伴着开发人员。它简化了格式化输入输出的过程&#xff0c;让打印和扫描数据变得轻松自如。无论是向控制台输出简单的消息&#xff0c;还是处理复杂…

Rust入门:如何在windows + vscode中关闭程序codelldb.exe

在windows中用vscode单步调试rust程序的时候&#xff0c;发现无论是按下stop键&#xff0c;还是运行完程序&#xff0c;调试器codelldb.exe一直霸占着主程序不退出&#xff0c;如果此时对代码进行修改&#xff0c;后续就没法再编译调试了。 目前我也不知道要怎么处理这个事&am…