【C语言】鹏哥C语言刷题训练营——第5节内容笔记(含代码全面分析和改进,讲解)

news2024/12/23 14:56:09

系列文章目录

身躯已然冰封,灵魂仍旧火热
本文由@睡觉待开机原创,未经允许不得转载。
本内容在csdn网站首发
欢迎各位点赞—评论—收藏
如果存在不足之处请评论留言,共同进步!


文章目录

  • 系列文章目录
  • 前言
  • 题目链接(有需要请自行链接做题)
  • T1:
    • 题目解析:
    • 思路1:
    • 思路2:
    • 思路3:
  • T2:
    • 思路1:
    • 思路2:
  • T3:
    • 思路1:
  • T4:
    • 思路1:
  • T5:
    • 思路1:
  • T6:
    • 思路1:
    • 思路2:
  • T7:
    • 思路1:
    • 思路2:
    • 思路3:
  • T8:
    • 思路1:
    • 思路2:
  • T9:
    • 思路1:
    • 思路2:
    • 思路3:
  • 所有代码展示:
  • 总结:


前言

注:本文题目是作者听课视频讲解,来自比特鹏哥C语言刷题训练营,有些许代码思路借鉴。
在本节博客当中,题目难度有了一点点提升,然后就是更注重一些题目的多解性了,仔细对比不同的代码和思路解法,就能促进自己对代码的理解和掌握。


题目链接(有需要请自行链接做题)

第5讲

  1. 精选社⻓ 题号:BC147 链接:https://www.nowcoder.com/practic
    e/45a30e3ef51040ed8a7674984d6d1553?tpId=290&tqId=39935&ru=/exam/oj
  2. 你是天才吗 题号:BC50 链接:https://www.nowcoder.com/practic
    e/557cc54704bb4d56b73b62d1a5455331?tpId=290&tqId=39838&ru=/exam/oj
  3. 完美成绩 题号:(⽆) 链接:https://www.nowcoder.com/questionTe
    rminal/8312e497509a450f968d9a6a2381ce32
  4. 及格分数 题号:BC51 链接:https://www.nowcoder.com/practice/
    56513524333148b38945e1989bc7df4e?tpId=290&tqId=39839&ru=/exam/oj
  5. 判断整数的奇偶性 题号:BC52 链接:https://www.nowcoder.com/
    practice/a8b018667e274af29b5f76a6673450fc?tpId=290&tqId=39840&ru=/exam/oj
  6. 最⾼分数 题号:(⽆) 链接:https://www.nowcoder.com/questio
    nTerminal/52c18a3b49a54fc98107fbdde1415f90
  7. 判断元⾳还是辅⾳ 40题号:BC53 链接:https://www.nowcoder.com/p
    ractice/7eb4df4d52c44d309081509cf52ecbc4?tpId=290&tqId=39841&ru=/exam/oj
  8. 判断是不是字⺟ 题号:BC60 链接:https://www.nowcoder.com/practice/91a588dd4cd244bfa616f17603ec123c?tpId=290&tqId=39848&ru=/exam/oj
  9. 大小写字母转换 题号:BC48 链接:https://www.nowcoder.com/practice/850ebd30a2a34cfc87199da3fc15786a?tpId=107&&tqId=33329&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking

T1:

在这里插入图片描述

题目解析:

看着挺高大上,还是竞选社长,其实说白了就是给一串字符串,然后这个字符串里有A有B,该字符串以0为结束标志,让你数一数哪个多罢了。

思路1:

创建一个数组,存储一下字符串,然后用数组+循环进行挨个访问,挨个计数就行了
代码实现:

void T1_way1(void)
{
	//创建一个数组,读入并存储字符串
	char str[100] = { 0 };
	scanf("%s", str);//一般scanf需要给一个地址,这里数组名就是数组首元素地址

	//循环依次访问,直到遇到0或者EOF
	int i = 0;
	int count_a = 0;
	int count_b = 0;

	while (str[i] != '0' && str[i] != EOF)
	{
		if (str[i] == 'A')
			count_a++;
		if (str[i] == 'B')
			count_b++;
		i++;
	}

	//按照情况来打印
	if (count_a > count_b)
		printf("A\n");
	else if (count_a < count_b)
		printf("B\n");
	else
		printf("E\n");
}

思路2:

其实计数这个地方可以升级一下哈,咱有俩计数的变量,有点多,其实一个就够了,数个A计数+1,数个B-计数就1,这样的话是比较不错的。
然后代码就变成这样了:

void T1_way2(void)
{
	//创建一个数组,读入并存储字符串
	char str[100] = { 0 };
	scanf("%s", str);//一般scanf需要给一个地址,这里数组名就是数组首元素地址

	//循环依次访问,直到遇到0或者EOF
	int i = 0;
	int count = 0;

	while (str[i] != '0' && str[i] != EOF)
	{
		if (str[i] == 'A')
			count++;
		if (str[i] == 'B')
			count--;
		i++;
	}

	//按照情况来打印
	if (count > 0)
		printf("A\n");
	else if (count < 0)
		printf("B\n");
	else
		printf("E\n");
}

思路3:

感觉我们得把一个字符串需要存起来,存起来的话,是不是有点浪费空间,我们到最后又不需要这个数组里的值,,,只是看看A多还是B多而已。。。要不我干脆补存储字符串了,一边读,一边计数不就得了

void T1_way3(void)
{

	//一边读一边计数,循环依次访问,直到遇到0或者EOF
	char ch = '0';
	int count = 0;

	while (ch = getchar() != '0'&& ch != EOF)
	{
		if (ch == 'A')
			count++;
		if (ch == 'B')
			count--;
	}

	//按照情况来打印
	if (count > 0)
		printf("A\n");
	else if (count < 0)
		printf("B\n");
	else
		printf("E\n");
}

这样的话其实没了数组计数变量也被我们搞成一个了,所以说应该是代码效率提升了不少哈哈,所以这种简单题目可以试试能不能我们把他的这个效率还有需要的内存给他搞得好一点。。。注意细节得。

T2:

在这里插入图片描述
题意:这个题也是一个超级简单的题目,说白了就是编一个程序,这个程序是这样滴:搞一个比较值,一个数字大于等于这个比较值,就是天才,小于就不是。

思路1:

直接搞俩变量,一个是存储这个比较值另一个输入值就行了

void T2_way1(void)
{
	int a = 140;
	int iq = 0;
	while(scanf("%d", &iq)!=EOF)
	{
		if (iq >= a)
			printf("Genius\n");
	}
}

思路2:

其实这个多组输入还可以换一种写法:

void T2_way2(void)
{
	int a = 140;
	int iq = 0;
	while (~scanf("%d", &iq))
	{
		if (iq >= a)
			printf("Genius\n");
	}
}

可以自己稍微考量一下为啥这个多组输入还可以这么写哈,不会的私信我,我给你说哈。
然后这个题目就没啥好说的了吧,毕竟太简单了,没有可以改进的地方啊。。。

T3:

在这里插入图片描述
额,其实这个题目跟上一个一样的,就是改了改那个比较数字而已。。。

思路1:

代码我就直接copy上一个的代码了,没事可以自己再试一下。。。

void T3_way1(void)
{
	int a = 90;
	int iq = 0;
	while (~scanf("%d", &iq))
	{
		if (iq >= a)
			printf("Perfect\n");
	}
}

T4:

在这里插入图片描述
题目解析:跟前面俩题一样的,不多废话了。。。感觉这三个题目选的有点划水的感觉。。。

思路1:

void T4_way1(void)
{
	int a = 60;
	int iq = 0;
	while (~scanf("%d", &iq))
	{
		if (iq >= a)
			printf("Pass\n");
		else
			printf("Fail\n");
	}
}

T5:

在这里插入图片描述
题目解析:
就是你搞个数字进去,让程序看看是偶数还是奇数。。。用%操作就行了。

思路1:

void T5_way1(void)
{
	int num = 0;
	while (scanf("%d", &num) != EOF)
	{
		if (num % 2 == 0)
			printf("Even\n");
		else
			printf("Odd\n");
	}
}

T6:

在这里插入图片描述
题目解析:就是输入三个数字,程序输出其中的最大的数字。
额。。。这个题目的话很多人可能想到了类似于打擂台的那种方式。。。其实这种三个比较量的时候,可以用三目操作符搞一下。

思路1:

三目操作符的使用,主要就是复习一下,省的忘干净C语言还有这个东西,这东西用起来其实相当好用的,不过很多人想不到而已。

void T6_way1(void)
{
	int a, b, c;
	while (~scanf("%d %d %d", &a, &b, &c))
	{
		int max = a > b ? a : b;
		max = max > c ? max : c;
		printf("%d\n", max);
	}

}

思路2:

就是平常那种打擂台的方式,或者再加上数组高级一点。

void T6_way2(void)
{
	int n1 = 0;
	int n2 = 0;
	int n3 = 0;
	int max = 0;
	while (scanf("%d %d %d",&n1,&n2,&n3) != EOF)
	{
		max = n1;
		if (n2 > max)
			max = n2;
		if (n3 > max)
			max = n3;
		printf("%d\n", max);
	}
	
}

T7:

在这里插入图片描述
题目分析:就是输入一个字母看看是元音还是辅音。。。

思路1:

void T7_way1(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	while (scanf("%c", &ch) != EOF)
	{
		int i = 0;
		for (i = 0; i < 10; i++)
		{
			if (ch == str[i])
			{
				printf("Vowel\n");
				break;
			}
		}
		getchar();
		if (i == 10)
			printf("Consonant\n");

	}
}

这里得说一下哈,scanf输入字符时候,我们按回车也算一个字符,为了把那个回车给“吃掉”,所以就有搞了个getchar()函数。。。

思路2:

然后那个回车问题的话,其实在scanf%c前面加个空格也可以解决哈,就是也可以不用特地加一个getchar()来“吃掉”多余的回车。。。

void T7_way2(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		int i = 0;
		for (i = 0; i < 10; i++)
		{
			if (ch == str[i])
			{
				printf("Vowel\n");
				break;
			}
		}
		if (i == 10)
			printf("Consonant\n");

	}
}

思路3:

void T7_way3(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
			if (strchr(str,ch))
			{
				printf("Vowel\n");
			}
			else
			printf("Consonant\n");
	}
}

然后这里简单提及一下strchr函数吧,就是一个库函数,这个库函数是用来判断一个字符是否在某个数组当中。。。有的话就返回非0,没有的话返回0。。。

T8:

在这里插入图片描述

思路1:

直接用库函数判断
头文件:#include<string.h>

void T8_way1(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (isalpha(ch))
			printf("%c is an alphabet.\n",ch);
		else
			printf("%c is not an alphabet.\n",ch);
	}
}

思路2:

oid T8_way2(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (('a'<= ch && ch <= 'z') ||('A' <= ch && ch <= 'Z'))
			printf("%c is an alphabet.\n",ch);
		else
			printf("%c is not an alphabet.\n",ch);
	}
}

T9:

在这里插入图片描述

思路1:

void T9_way1(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if ('a' <= ch && ch <= 'z')
			printf("%c", ch-32);
		else if('A' <= ch && ch <= 'Z')
			printf("%c\n", ch+32);
	}
}

思路2:

利用库函数
islower,isupper
头文件:#include<ctype.h>

void T9_way2(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (islower(ch))
			printf("%c", ch - 32);
		else if (isupper(ch))
			printf("%c\n", ch + 32);
	}
}

思路3:

还有库函数tolower,toupper

void T9_way3(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (islower(ch))
			printf("%c", toupper(ch));
		else if (isupper(ch))
			printf("%c\n", tolower(ch));
	}
}

所有代码展示:

#define _CRT_SECURE_NO_WARNINGS 1
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<ctype.h>

void T1_way1(void)
{
	//创建一个数组,读入并存储字符串
	char str[100] = { 0 };
	scanf("%s", str);//一般scanf需要给一个地址,这里数组名就是数组首元素地址

	//循环依次访问,直到遇到0或者EOF
	int i = 0;
	int count_a = 0;
	int count_b = 0;

	while (str[i] != '0' && str[i] != EOF)
	{
		if (str[i] == 'A')
			count_a++;
		if (str[i] == 'B')
			count_b++;
		i++;
	}

	//按照情况来打印
	if (count_a > count_b)
		printf("A\n");
	else if (count_a < count_b)
		printf("B\n");
	else
		printf("E\n");
}

void T1_way2(void)
{
	//创建一个数组,读入并存储字符串
	char str[100] = { 0 };
	scanf("%s", str);//一般scanf需要给一个地址,这里数组名就是数组首元素地址

	//循环依次访问,直到遇到0或者EOF
	int i = 0;
	int count = 0;

	while (str[i] != '0' && str[i] != EOF)
	{
		if (str[i] == 'A')
			count++;
		if (str[i] == 'B')
			count--;
		i++;
	}

	//按照情况来打印
	if (count > 0)
		printf("A\n");
	else if (count < 0)
		printf("B\n");
	else
		printf("E\n");
}

void T1_way3(void)
{

	//一边读一边计数,循环依次访问,直到遇到0或者EOF
	char ch = '0';
	int count = 0;

	while (ch = getchar() != '0' && ch != EOF)
	{
		if (ch == 'A')
			count++;
		if (ch == 'B')
			count--;
	}

	//按照情况来打印
	if (count > 0)
		printf("A\n");
	else if (count < 0)
		printf("B\n");
	else
		printf("E\n");
}

void T2_way1(void)
{
	int a = 140;
	int iq = 0;
	while (scanf("%d", &iq) != EOF)
	{
		if (iq >= a)
			printf("Genius\n");
	}
}

void T2_way2(void)
{
	int a = 140;
	int iq = 0;
	while (~scanf("%d", &iq))
	{
		if (iq >= a)
			printf("Genius\n");
	}
}

void T3_way1(void)
{
	int a = 90;
	int iq = 0;
	while (~scanf("%d", &iq))
	{
		if (iq >= a)
			printf("Perfect\n");
	}
}

void T4_way1(void)
{
	int a = 60;
	int iq = 0;
	while (~scanf("%d", &iq))
	{
		if (iq >= a)
			printf("Pass\n");
		else
			printf("Fail\n");
	}
}


void T5_way1(void)
{
	int num = 0;
	while (scanf("%d", &num) != EOF)
	{
		if (num % 2 == 0)
			printf("Even\n");
		else
			printf("Odd\n");
	}
}

void T6_way1(void)
{
	int a, b, c;
	while (~scanf("%d %d %d", &a, &b, &c))
	{
		int max = a > b ? a : b;
		max = max > c ? max : c;
		printf("%d\n", max);
	}

}

void T6_way2(void)
{
	int n1 = 0;
	int n2 = 0;
	int n3 = 0;
	int max = 0;
	while (scanf("%d %d %d", &n1, &n2, &n3) != EOF)
	{
		max = n1;
		if (n2 > max)
			max = n2;
		if (n3 > max)
			max = n3;
		printf("%d\n", max);
	}

}

void T7_way1(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	while (scanf("%c", &ch) != EOF)
	{
		int i = 0;
		for (i = 0; i < 10; i++)
		{
			if (ch == str[i])
			{
				printf("Vowel\n");
				break;
			}
		}
		getchar();
		if (i == 10)
			printf("Consonant\n");

	}
}

void T7_way2(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		int i = 0;
		for (i = 0; i < 10; i++)
		{
			if (ch == str[i])
			{
				printf("Vowel\n");
				break;
			}
		}
		if (i == 10)
			printf("Consonant\n");

	}
}

void T7_way3(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (strchr(str, ch))
		{
			printf("Vowel\n");
		}
		else
			printf("Consonant\n");
	}
}

void test(void)
{
	char str[] = "AEIOUaeiou";
	char ch = 0;
	scanf("%c", &ch);
	int c = strchr(str, ch);
	printf("%d", c);
}

void T8_way1(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (isalpha(ch))
			printf("%c is an alphabet.\n", ch);
		else
			printf("%c is not an alphabet.\n", ch);
	}
}

void T8_way2(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z'))
			printf("%c is an alphabet.\n", ch);
		else
			printf("%c is not an alphabet.\n", ch);
	}
}

void T9_way1(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if ('a' <= ch && ch <= 'z')
			printf("%c", ch - 32);
		else if ('A' <= ch && ch <= 'Z')
			printf("%c\n", ch + 32);
	}
}

void T9_way2(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (islower(ch))
			printf("%c", ch - 32);
		else if (isupper(ch))
			printf("%c\n", ch + 32);
	}
}

void T9_way3(void)
{
	char ch = 0;
	while (scanf(" %c", &ch) != EOF)
	{
		if (islower(ch))
			printf("%c", toupper(ch));
		else if (isupper(ch))
			printf("%c\n", tolower(ch));
	}
}

int main()
{
	//T1_way1();
	//T1_way2();
	//T1_way3();
	//T2_way1();
	//T2_way2();
	//T3_way1();
	//T4_way1();
	//T5_way1();
	//T6_way1();
	//T6_way2();
	//T7_way1();
	//T7_way2();
	//test();
	//T8_way1();
	//T8_way2();
	//T9_way1();
	//T9_way2();
	T9_way3();
	return 0;
}

总结:

以上就是对鹏哥刷题训练营第五节课所有的代码笔记了~希望同学们还是自己动手敲一下。

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

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

相关文章

计算机组成原理——数制与编码

1.在以下编码中&#xff0c;零的表示唯一的是&#xff08;C&#xff09; A.反码 B.原码 C.补码 D.原码和移码 2.假设某数的真值为-100 1010B&#xff0c;在计算机内部表示为1011 0110B&#xff0c;该数采用的编码为&#xff08;D&#xff09; A.移码 B.原码 C.反码 D.补码 3.…

Linux shell编程学习笔记36:read命令

目录 0 前言1 read命令的功能、格式、返回值和注意 1.1 命令功能1.2 命令格式1.3 返回值1.4 注意事项2 命令应用实例 2.1 一次读入多个变量值2.2 不指定变量名2.3 测试read命令的返回值2.3 指定输入时限并进行相应处理2.4 -t 指定结束符2.5 -n 指定输入字符个数2.6 -N 指定输入…

分类预测 | Matlab实现AOA-SVM算术优化支持向量机的数据分类预测【23年新算法】

分类预测 | Matlab实现AOA-SVM算术优化支持向量机的数据分类预测【23年新算法】 目录 分类预测 | Matlab实现AOA-SVM算术优化支持向量机的数据分类预测【23年新算法】分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现AOA-SVM算术优化支持向量机的数据分类预测…

css的filter全属性介绍

原图&#xff1a; 模糊&#xff08;blur&#xff09; 单位可为px或rem&#xff0c;值越大&#xff0c;越模糊 filter:blur(3px) filter:blur(0.3rem) 亮度(brightness) 值可为数字或百分数&#xff0c;小于1时&#xff0c;亮度更暗&#xff1b;等于1时&#xff0c;无变化&am…

微信支付怎么申请0.2费率

作为移动支付的主流方式&#xff0c;微信收款和支付宝为商家带来了便利的同时&#xff0c;每笔交易都要收取的0.6&#xff05;收款手续费也成为商家的负担。现在使用现金支付的人少之又少&#xff0c;为了给顾客带来便捷的购物体验&#xff0c;所以即便是要付出手续费&#xff…

十四、YARN核心架构

1、目标 &#xff08;1&#xff09;掌握YARN的运行角色和角色之间的关系 &#xff08;2&#xff09;理解使用容器做资源分配和隔离 2、核心架构 &#xff08;1&#xff09;和HDFS架构的对比 HDFS架构&#xff1a; YARN架构&#xff1a;&#xff08;主从模式&#xff09; &…

visual stdio code运行vue3

npm init vuelatest 该命令初始化vue项目 使用visual stdio code创建vue项目 ,这边是vue-project文件夹 vs code打开项目 vscode操作vue项目 vscode操作vue项目

【Leetcode】旋转矩阵

题目链接&#xff1a;https://leetcode.cn/problems/rotate-matrix-lcci/description/ 题目描述 给你一幅由 N N 矩阵表示的图像&#xff0c;其中每个像素的大小为 4 字节。请你设计一种算法&#xff0c;将图像旋转 90 度。 不占用额外内存空间能否做到&#xff1f; 示例 …

找出一个二维数组中的鞍点

找出一个二维数组中的鞍点&#xff0c;即该位置上的元素在该行上的最大、在该列上最小。也有可能没有鞍点。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() {int a[10][10] { 0 };int n 0, m 0;int i 0, j 0;printf("请输入这个数组有n行m列…

算法学习——栈与队列

栈与队列 栈与队列理论基础用栈实现队列思路代码 用队列实现栈思路代码 删除字符串中的所有相邻重复项思路代码 有效的括号思路代码 逆波兰表达式求值思路代码 滑动窗口最大值思路代码未完待续 前 K 个高频元素思路代码拓展 总结栈在系统中的应用括号匹配问题字符串去重问题逆波…

FPGA时序分析与时序约束(二)——时钟约束

目录 一、时序约束的步骤 二、时序网表和路径 2.1 时序网表 2.2 时序路径 三、时序约束的方式 三、时钟约束 3.1 主时钟约束 3.2 虚拟时钟约束 3.3 衍生时钟约束 3.4 时钟组约束 3.5 时钟特性约束 3.6 时钟延时约束 一、时序约束的步骤 上一章了解了时序分析和约束…

LinuxCNC的使用

先进行程序设置 点击“开始”,选择“创建新的配置” 设置好机床名称和单位 关键是需要设置并口地址 查看并口使用命令:lscpi -v 将使用的并口填入: 这里是设置页面

Vue 自定义搜索输入框SearchInput

效果如下&#xff1a; 组件代码 <template><div class"search-input flex flex-space-between flex-center-cz"><input type"text" v-model"value" :ref"inpuName" :placeholder"placeholder" keyup.enter&…

6.s081操作系统Lab4: trap

文章目录 chapter 4概览4.1 CPU trap流程使用寄存器如果cpu想处理1个trap 4.2 用户态引发的trap4.2.1 uservec4.2.2 usertrap4.2.3 usertrapret和userretusertrapretuserret Lab4Backtrace (moderate)Alarm (hard) chapter 4 概览 trap的场景&#xff1a;系统调用&#xff0c…

Unity3D拆分模型动画展示

系列文章目录 Unity工具 文章目录 系列文章目录前言一、模型拆分功能1-1、首先先搭建一个简单的场景1-2、导入DoTween插件1-3、代码实现1-4、效果展示&#xff08;一个一个拆分的&#xff09; 二、对称模型拆分2-1、规则的&#xff0c;镜像的&#xff0c;对称的都可以使用2-2、…

gitee提交代码步骤介绍(含git环境搭建)

1、gitee官网地址 https://gitee.com; 2、Windows中安装git环境 参考博客&#xff1a;《Windows中安装Git软件和TortoiseGit软件》&#xff1b; 3、设置用户名和密码 这里的用户名和密码就是登录gitee网站的用户名和密码如果设置错误&#xff0c;可以在Windows系统的“凭据管理…

八股文打卡day3——计算机网络(3)

面试题&#xff1a;请讲一下四次挥手的过程&#xff1f; 1.客户端发送FIN数据包给服务器&#xff0c;表示客户端不再发送数据给服务器&#xff0c;想要断开这个方向的连接。 2.服务器收到客户端的FIN包之后&#xff0c;发送ACK包给客户端&#xff0c;对收到的FIN包进行收到确认…

你也是爬虫高手?毫秒级抢票,光速入监狱

文章目录 前言案情介绍法院观点判决情况判决文书案例分析 关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言 …

C++ 开发中为什么要使用继承

为何继承 实验介绍 继承是 C++ 中的特性之一,使用继承能够有效减轻工作量,使得开发更加高效。 知识点 什么是继承为何继承继承的内容权限关键字什么是继承 生活中继承是指孩子继承父亲的财产等。C++ 使用了这一思想,却又与生活中的继承不一样。 在使用继承时,派生类是…

cesium学习笔记(问题记录)——(三)

一、根据点跟角度计算另一点坐标&#xff08;三维球体&#xff09; export const getAnotherPoint (lon: number, lat: number, angle: number, distance: number) > {// WGS84坐标系var a 6378137; // 赤道半径var b 6356752.3142; // 短半径var f 1 / 298.257223563;…