ZISUOJ 高级语言程序设计实训-基础A

说明:

        我这次代码以尽可能简洁的C++代码形式给出。

题目列表:

问题 A: 比较大小 

 

思路:

        一道简单的if条件判断题。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
void solve(){
	int a,b;cin >> a >> b;
	if(a>b) cout << "Bigger\n";
	else if(a<b) cout << "Smaller\n";
	else cout << "Equal\n";
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
	cin >> T;
	while(T--) solve();
	return 0;
}

问题 B: 一个@字符矩形

思路:

        简单循环考察题。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
void solve(){
	int n;cin >> n;
	for(int i = 1;i<=n;i++){
		for(int j = 1;j<=20;j++) cout << '@';
		cout << '\n';
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 C: 最大公约数和最小公倍数

思路:

        考察辗转相除法(也叫欧几里得算法)求最大公约数。另外,最大公倍数=两个数的乘积除以他们的最大公约数。我下面直接用STL的__gcd()函数了,就不自己写了gcd()函数了

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
void solve(){
	int a,b;cin >> a >> b;
	cout << __gcd(a,b) << ' ' << a/__gcd(a,b)*b << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 D: 水仙花数

思路:

        根据题意,我们从100到999遍历找一遍输出即可。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;

void solve(){
	 for(int i = 100;i<1000;i++){
	 	int a=i%10,b=i/10%10,c=i/100;
	 	if(i==pow(a,3)+pow(b,3)+pow(c,3)) cout << i << '\n';
	 }
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 E: 第N次落地

思路:

        我们发现到N次落地会经过N次下落,N-1次上升,计算最后的经过路径长度要注意。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;

void solve(){
	 double height;
	 int n;
	 cin >> height >> n;
	 double sum = 0;
	 for(int i = 1;i<=n;i++){
	 	sum+=height;//下落
	 	height/=2;
	 	sum+=height;//上升
	 }
	 sum-=height;//多加了一次上升的距离,因此要减掉
	 cout << fixed << setprecision(2) << height << ' ' << sum << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 F: 画字符三角形

思路:

        考察简单的二重循环。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
void solve(){
	 char c;cin >> c;
	 for(int i = 1;i<=7;i++){
	 	for(int j = 1;j<=7-i;j++) cout << ' ';
	 	for(int j = 1;j<=2*i-1;j++) cout << c;
	 	cout << '\n'; 
	 }
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 G: 冒泡法排序

思路:

        你让我冒泡我就冒泡?直接sort()它不香嘛?(滑稽)

参考题解1(直接sort):

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
int a[11];
void solve(){
	for(int i = 1;i<=10;i++) cin >> a[i];
	sort(a+1,a+1+10);
	for(int i = 1;i<=10;i++) cout << a[i] << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

参考题解2(冒泡排序):

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
constexpr int N=1e5+5,M=1e2+5,INF=0x3f3f3f3f,MOD=1e9+7,P=131;
int a[11];
void solve(){
	for(int i = 1;i<=10;i++) cin >> a[i];
	for(int i = 1;i<=10-1;i++){
		for(int j = 1;j<=10-i;j++){
			if(a[j]>a[j+1]){
				int tmp = a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
	for(int i = 1;i<=10;i++) cout << a[i] << '\n';
}
int main() {
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 H: 矩阵对角线元素之和

思路:

        主对角线之和:行和列相等的时候的值之和

        副对角线之和:行加列等于n+1的值之和

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
int a[4][4];
void solve(){
	for(int i = 1;i<=3;i++){
		for(int j = 1;j<=3;j++){
			cin >> a[i][j];
		}
	}
	int ans1=0,ans2=0;//ans1是主对角线之和,ans2是副对角线之和
	for(int i = 1;i<=3;i++){
		for(int j = 1;j<=3;j++){
			if(i==j) ans1+=a[i][j];
			if(i+j==4) ans2+=a[i][j];
		}
	}
	cout << ans1 << ' ' << ans2 << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 I: 逆序输出 

思路:

        方法很多:

                1.直接逆序遍历

                2.用栈(栈是先进后出的)做

                3.反转数组顺序遍历

参考题解1:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
int a[11];
void solve(){
	for(int i = 1;i<=10;i++) cin >> a[i];
	for(int i = 10;i>=1;i--) cout << a[i] << " \n"[i==1];
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

参考题解2:

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
constexpr int N=1e5+5,M=1e2+5,INF=0x3f3f3f3f,MOD=1e9+7,P=131;
stack<int> stk;
void solve(){
	for(int i = 1;i<=10;i++){
		int n;cin >> n;
		stk.push(n);
	}
	while(stk.size()){
		int t = stk.top();
		cout << t << ' ';
		stk.pop();
		if(stk.empty()) cout << '\n'; 
	}
}
int main() {
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

参考题解3:

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pii = pair<int,int>;
constexpr int N=1e5+5,M=1e2+5,INF=0x3f3f3f3f,MOD=1e9+7,P=131;
vector<int> a; 
void solve(){
	for(int i = 1;i<=10;i++){
		int n;cin >> n;
		a.push_back(n);
	}
	reverse(a.begin(),a.end());
	for(int i = 0;i<a.size();i++) cout << a[i] << " \n"[i==a.size()-1];
}
int main() {
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 J: 字符串翻转

 

思路:

        用string存,直接用reverse()函数反转后输出即可。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
string s;
void solve(){
	cin >> s;
	reverse(s.begin(),s.end());
	cout << s << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 K: 菲波那契数

思路:

        使用循环进行递推后输出。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
int n;
int f[55];
void solve(){
	cin >> n;
	f[0]=0,f[1]=1;
	for(int i = 2;i<=n;i++){
		f[i]=f[i-1]+f[i-2];
	}
	cout << f[n] << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 L: 寻找幸运数

思路:

        每组数据if判断一下三个数即可。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
int a,b,c;
void solve(){
	while(cin >> a >> b >> c){
		if(a==-1&&b==-1&&c==-1) break;
		if(a<=168){
			cout << "CRASH " << a << '\n';
			continue;
		}
		if(b<=168){
			cout << "CRASH " << b << '\n';
			continue;
		}
		if(c<=168){
			cout << "CRASH " << c << '\n';
			continue;
		}
		cout << "NO CRASH\n";
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 M: 求等差数列的和

思路:

        使用等差数列求和公式时间复杂度直接是O(1)。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
ll a,b,c;
void solve(){
	while(cin >> a >> b >> c){
		if(a==0&&b==0&&c==0) break;
		ll sum = (a+b)*((b-a)/c+1)/2;
		cout << sum << '\n';
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 N: 字母转换

思路:

        遍历所有行,如果是小写字符则转换成大写,如果是大写字符则转换成小写。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
string s;
void solve(){
	while(getline(cin,s)){
		for(int i = 0;i<s.size();i++){
			if(s[i]>='a'&&s[i]<='z'){
				cout << (char)('A'+s[i]-'a');
			}else if(s[i]>='A'&&s[i]<='Z'){
				cout << (char)('a'+s[i]-'A');
			}else cout << s[i];
		}
		cout << '\n';
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 O: 计算矩形面积

思路:

        注意提示,暗示(明示)我们要用long long来算,并且计算好后还需要排序才能输出。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
ll a,b,c,d;
ll t[105];
void solve(){
	int idx = 0;
	while(cin >> a >> b >> c >> d){
		t[idx]=abs(a-c)*abs(b-d);
		idx++;
	}
	sort(t,t+idx);
	for(int i = 0;i<idx;i++) cout << t[i] << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 P: 对称文

思路:

        这个题,没啥特别好的思路,只能读入一行,把所有字符都转成小写字符,然后把字符串长度分奇偶从中间往两边遍历判断是否对称,特别地,四个左右括号要特殊判断。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
string s;
void solve(){
	while(getline(cin,s)){
		if(s=="000000") break;
		for(int i = 0;i<s.size();i++){
			s[i]=tolower(s[i]);
		}
		int flag = 0;
		int len = s.size();
		if(len%2==1){
			for(int i = 0;i<=len/2;i++){
				if(s[len/2+i]!=s[len/2-i]){
					if(s[len/2+i]==']'&&s[len/2-i]=='[') continue;
					else if(s[len/2+i]==')'&&s[len/2-i]=='(') continue;
					else if(s[len/2+i]=='>'&&s[len/2-i]=='<') continue;
					else if(s[len/2+i]=='}'&&s[len/2-i]=='{') continue;
					flag = 1;
					break;
				}
			}
		}else{
			for(int i = 0;i<len/2;i++){
				if(s[len/2+i]!=s[len/2-1-i]){
					if(s[len/2+i]==']'&&s[len/2-1-i]=='[') continue;
					else if(s[len/2+i]==')'&&s[len/2-1-i]=='(') continue;
					else if(s[len/2+i]=='>'&&s[len/2-1-i]=='<') continue;
					else if(s[len/2+i]=='}'&&s[len/2-1-i]=='{') continue;
					flag = 1;
					break;
				}
			}
		}
		if(flag) cout << "Not symmetry\n";
		else cout << "Symmetry\n";
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 Q: 判断数字

思路:

        遍历判断即可。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e2+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
string s;
void solve(){
	while(getline(cin,s)){
		int flag = 0;
		for(int i = 0;i<s.size();i++){
			if(s[i]<'0'||s[i]>'9'){
				flag = 1;
				break;
			}
		}
		if(flag){
			cout << "No\n";
		}else{
			cout << "Yes\n";
		}
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 R: 美丽的数

思路:

        根据要求排序后输出最美丽的数即可。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e5+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
int n;
pii a[N];
int primes[]={2,3,5,7};
bool cmp(pii p1,pii p2){
	if(p1.first!=p2.first) return p1.first>p2.first;
	else return p1.second<p2.second;
	
}
void solve(){
	while(cin >> n){
		if(n==0) break;
		int tmp;
		for(int i = 1;i<=n;i++){
			int t;cin >> t;
			tmp = t;
			int cnt = 0;
			while(tmp){
				for(int i = 0;i<4;i++){
					if(tmp%10==primes[i]){
						cnt++;
					}
				}
				tmp/=10;
			}
			a[i]={cnt,t};
		}
		sort(a+1,a+1+n,cmp);
		cout << a[1].second << '\n';
	}
	
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--) solve();
	return 0;
}

问题 S: 统计数字

思路:

        循环遍历的时候一边用map记录出现次数,一边累加总和。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e5+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
string s;
void solve(){
	cin >> s;
	map<char,int> mp;
	ll sum = 0;
	for(int i = 0;i<s.size();i++){
		mp[s[i]]++;
		sum+=s[i]-'0';
	}
	for(auto &i:mp){
		cout << i.first << ":" << i.second << '\n';
	}
	cout << sum << '\n';
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
	cin >> T;
	while(T--){
		solve();
		if(T!=0) cout << '\n';
	}
	return 0;
}

问题 T: 按长度排序

思路:

        根据题意写结构体或者pair排序输出即可。

参考题解:

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
using ull = unsigned long long;
using pii = pair<int,int>;
constexpr int N = 1e5+5,M = 1e2+5,MOD = 1e9+7,INF = 0x3f3f3f3f,P = 131;
pair<int,string> p[N];
string s;
void solve(){
	int n;
	while(cin >> n,n){
		for(int i = 1;i<=n;i++){
			cin >> s;
			int len = s.size();
			p[i]={len,s};
		}
		sort(p+1,p+1+n,[&](pair<int,string> p1,pair<int,string> p2)->bool{
			if(p1.first!=p2.first) return p1.first<p2.first;
			else return p1.second<p2.second;
		});
		for(int i = 1;i<=n;i++) cout << p[i].second << '\n';
		cout << '\n';
	}
}
int main(){
	ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
	int T = 1;
//	cin >> T;
	while(T--){
		solve();
	}
	return 0;
}

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

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

相关文章

数据治理项目——深铁集团数据治理规划

目录 一、前言 二、数据治理内容与主要措施 2.1 实施背景 2.2 主要举措 2.2.1 制定数据战略目标 2.2.2 绘制数据治理蓝图 2.2.3 绘制数据治理制度 2.2.4 梳理数据资产目录 三、 应用效果 3.1 数据资产可视化管理 3.2 数据标准治理 3.3 集团大数据平台优化建设 一、…

前端服务请求跨域被拦截,Java后端Springboot服务解决办法

跨域问题 跨域前端遇到的问题&#xff1a; Access to XMLHttpRequest at ‘http://www.xxx.xxxx/api/x/d/xc’ from origin ‘http://127.0.0.1:3000’ has been blocked by cors policy: No ‘Access-Contorl-Allow-Origin’ header is present on the requested resource. …

[大模型]Qwen1.5-7B-Chat-GPTQ-Int4 部署环境

Qwen1.5-7B-Chat-GPTQ-Int4 部署环境 说明 Qwen1.5-72b 版本有BF16、INT8、INT4三个版本&#xff0c;三个版本性能接近。由于BF16版本需要144GB的显存&#xff0c;让普通用户忘却止步&#xff0c;而INT4版本只需要48GB即可推理&#xff0c;给普通用户本地化部署创造了机会。&…

3D开发工具HOOPS:推动汽车行业CAD可视化发展

在最近的行业对话中&#xff0c;Tech Soft 3D&#xff08;HOOPS厂商&#xff09;的Jonathan Girroir和Actify的Peter West探讨了CAD可视化在当代企业中的重要性和挑战。作为CAD可视化领域的佼佼者&#xff0c;Actify通过其广受欢迎的Spinfire应用&#xff0c;赋能了全球40多个国…

7.接口自动化测试-Allure报告

1.环境搭建 &#xff08;1&#xff09;下载并解压allure.zip&#xff0c;不要用中文路径&#xff0c;将bin目录配置到path环境变量 官网&#xff1a;Allure下载 &#xff08;2&#xff09;cmd安装allure-pytest第三方库 pip install allure-pytest 检测是否安装成功 pip show …

使用Android Studio制作一个蓝牙软件 ---(一)

一、创建项目&#xff08;项目名称---BluetoothActivity&#xff09; 二、创建HomeActivity页面 1.点击一个文件夹 --- 鼠标右击 --- 新建 --- Acyivity --- Empty Views Activity 三、创建styles.xml 点击 values文件夹 --- 鼠标右击 --- 新建 --- Values Resource File sty…

qt-C++笔记之获取当前文件名所在路径并拼接出新文件路径的一种方法

qt-C笔记之获取当前文件名所在路径并拼接出新文件路径的一种方法 code review! 运行 在 Qt 框架中&#xff0c;QFileInfo 和 QDir类通常用于文件系统信息的查询和目录管理。下面是按照这样一种新颖的步骤来拼接新文件路径的示例代码&#xff1a; #include <QFileInfo>…

DVWA靶场的下载与搭建

目录 什么是靶场 DVWA靶场下载 下载地址 安装 什么是靶场 靶场就是人为提供的带有安全漏洞的服务&#xff0c;每一个学习者都可以在本地快速搭建来实操&#xff0c;回溯漏洞的发生原理以及操作方式。DVWA靶场呢就是一个可以通过浏览器访问的拥有可视化页面的web靶场。 DVW…

K8S之Controller

我们在回顾下pod的启动流程&#xff1a; 用户通过kubectl&#xff0c;向api-server 发起请求api-server接受请求&#xff0c;并将数据写入etcdkube-scheduler通过watch检测到未绑定node 的pod&#xff0c;调度pod到某一node上&#xff0c;并通知给api-server&#xff0c;api-se…

【how2j练习题】HTML DOM部分阶段练习

练习1 <!-- 验证账号是否已经存在 那么就在js使用简单的验证规则&#xff1a; 如果账号是以a或者A开头的&#xff0c;那么就提示已经存在了。 --> <!-- 1.需要一个输入框和一个按钮 2.按钮上绑上一个事件。 3.编写事件&#xff0c;并输出答案 --><html><…

002 数据提取工具 WebPlotDigitizer 使用教程

一、WebPlotDigitizer 安装方法 直接在官网上进行下载 automeris.io&#xff0c;选择右上角的下载按钮&#xff0c;再根据电脑位数选择对应版本进行下载。 下载后将得到一个压缩包&#xff0c;直接解压缩&#xff0c;双击WebPlotDigitizer-4.7.exe即可运行&#xff0c;得到如下…

02 - Git 之命令 +

1 Git相关概念 1.1 以下所谈三个区&#xff0c;文件并不只是简单地在三个区转移&#xff0c;而是以复制副本的方式转移 使用 Git 管理的项目&#xff0c;拥有三个区域&#xff0c;分别是 Working area工作区&#xff08;亦称为 工作树Working Tree&#xff09;、stage area …

贪心算法|435.无重叠区间

力扣题目链接 class Solution { public:// 按照区间右边界排序static bool cmp (const vector<int>& a, const vector<int>& b) {return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.siz…

Go gorm库(详细版)

目录 01. 什么是ORM 02. 环境搭建 03. 连接数据库 高级设置 gorm 的命名策略 创建表 日志显示 04. 模型定义 定义一张表 自动生成表结构 修改表字段大小 字段标签 05. 单表查询 5.1 表结构 5.2 添加单条记录 5.3 批量插入 5.4 单条数据查询 5.5 根据主键查询…

微服务-7 Docker

一、镜像、容器、仓库 容器是镜像的实例&#xff0c;仓库中存储着镜像。 二、镜像的操作 三、容器的操作 创建容器停止容器&#xff0c;查看后发现没有了(docker ps 默认只展示没有停止的) docker ps -a (可以展示运行中和停止的镜像)删除容器&#xff1a;(docker rm 不能删除…

新手尝试硬件买单片机还是树莓派?

新手尝试硬件买单片机还是树莓派&#xff1f; 新手的话&#xff0c;先学单片机吧&#xff0c;51&#xff0c;stm32&#xff0c;都可以&#xff0c;很多学习平台给的例子比较多&#xff0c;程序相对都比较简单&#xff0c;更贴近硬件&#xff0c;玩起来比较容易做出小东西&…

【简明图文教程】Node.js的下载、安装、环境配置及测试

文章目录 前言下载Node.js安装Node.js配置Node.js配置环境变量测试后言 前言 本教程适用于小白第一次从零开始进行Node.js的下载、安装、环境配置及测试。 如果你之前已经安装过了Node.js或删除掉了Node.js想重新安装&#xff0c;需要先参考以下博客进行处理后&#xff0c;再根…

HarmonyOS实战开发-图片编辑、使用 TextArea 实现多文本输入

介绍 本示例使用 TextArea 实现多文本输入&#xff0c;使用 ohos.app.ability.common 依赖系统的图库引用&#xff0c;实现在相册中获取图片&#xff0c;使用 ohos.multimedia.image 生成pixelMap&#xff0c;使用pixelMap的scale()&#xff0c;crop()&#xff0c;rotate()接口…

学习云计算HCIE选择誉天有什么优势?

誉天云计算课程优势实战性强 课程注重实践操作&#xff0c;通过实际案例和实验操作&#xff0c;让学员深入了解云计算的应用场景和实际操作技能。课程内容全面 涵盖所有云计算涉及的IT基础知识、服务器、存储、网络等方面的基础知识&#xff0c;开源操作系统Linux&#xff0c;开…

HarmonyOS实战开发-拼图、如何实现获取图片,以及图片裁剪分割的功能。

介绍 该示例通过ohos.multimedia.image和ohos.multimedia.mediaLibrary接口实现获取图片&#xff0c;以及图片裁剪分割的功能。 效果预览 使用说明&#xff1a; 使用预置相机拍照后启动应用&#xff0c;应用首页会读取设备内的图片文件并展示获取到的第一个图片&#xff0c;…