问题标题: C++常用代码集合贴

4
3
已解决
邹文昊
邹文昊
高级守护
高级守护
整型:基本整型(int)、短整型(shortint)、长整型(long long)
浮点型:
单精度(float在内存中占4个字节,提供7位有效数字)
双精度(double占8个字节,提供16位有效数字)
浮点型数据长度是有限的,存在计算误差。浮点数精度越高处理时间越长
 
continue 结束本次循环,进入下一次循环
unsigned 无符号
ceil(10.5)=11 向上取整(天花板)
floor(10.5)=10 向下取整(地板)
条件运算… ? … : …相当完整if
a>b?cout<<a:cout<<b;三目运算 a>b输出a,否则输出b
整型数x1,x2,x3与字符串s1,s2,s3相互转换
stringstream ss,xx,yy;
ss<<s1;ss>>x1;
xx.clear();yy.clear; //变量xx,yy清空或清0
 
reverse(a+1,a+1+n)数组反转
reverse(s.begin(),s.end()); s字符串中字符反转
memset(a,0,sizeof(a)); a数组重置0
memcpy(a,c,sizeof(c)) 把c数组复制到a数组
memset(a,0,sizeof(int)*1000);//这里的1000是数组大小,需要多少*多少 
sort(a+1,a+1+n,greater<类型>());  a数组从大到小排序
 
s.erase(m,n)从s串的第m位删除n个字符(m从0开始)
s.replace(i,x,c);从s串中第i位开始替换x个字符,用c去替换
s.insert(i,s1) 在s串第i位插入字符串s1——插入字符串
s.insert(i,n,c) 在s串第i位插入n个字符c——插入字符
 
printf("%.0f",x)输出float型数据x四舍五入保留整数
printf("%.2lf",y)输出double型数据y四舍五入保留两位小数
cout<<setiosflags(ios::fixed)<<setprecision(2)y  y四舍五入保留两位小数
printf("%d",x)输出int型数据x
printf("%5d",x)输出int型数据x,占5列,不够5列前面用空格占位
printf("%05d",x)输出int型数据x,占5列,不够5列前导0占位
cout<<setw(5)<<x;
cout<<setw(5)<<setfill('0')<<x;
用*代替位数,在后面的参数列表中用变量控制输出位数;
int a=4,n=5;printf("%0*d",n,a);输出:00004
printf("%*s",n,"");输出n个空格
printf("%lld",z)输出long long型数据z
printf("%s",s)输出字符串型数据s
printf("%c",c)输出字符型数据c
逗号运算,按顺序运算为最后结果
 
 
0x3f3f3f3f的十进制是1061109567
0x是十六进制的意思
 
pow(a,b)求a的b次方(结果为double)
system("shutdown -s -t 3")//3秒后自动关机
 
exl表格公式
=if(A1>=60,"及格","不及格")
=if(A1<60,"不极格",A1=100,"满分",A1>60,"及格")
=countif(A1:A50,">=90") 统计优秀人数
=countif(A1:A50,"<60") 统计不及格人数
=stdevp(A1:A50) 标准差

这些代码(如reverse(a+1,a+1+n)数组反转)也是非常好用,大家点个赞,收藏一下,可以吗?

我想申精(小声说一句)

如果我有错误部分,大家可以在评论区里说,我看到了会去改的。最重要的是我会随机更新(1天六七个或一两个),但不出意外的话一天一更是有的。

邹文昊在2024-08-12 10:18:49追加了内容

埃氏筛(1~100000)代码:

#include<bits/stdc++.h>
using namespace std;
bool a[100005]={1};//1要进行特殊处理,赋值为1,代表被筛了 
int cnt;//计数器
int main(){
	for(int i=2;i<=sqrt(100000);i++){
		if(a[i]==0){//判断i有没有被筛 
			for(int j=i*2;j<=100000;j+=i){//筛去所有i的倍数,除了i本身 
				a[j]=1;//做记号,代表被筛了 
			}
		}
	}
	for(int i=1;i<=100000;i++){ 
		if(a[i]==0){//判断i有没有被筛 
			cnt++;//计数器计数 
			cout<<i<<endl;//输出所有的质数
		}
	}
	cout<<cnt;//输出所有的质数的个数 
} 

 

邹文昊在2024-08-12 10:27:15追加了内容

判断回文字符串代码:

#include<bits/stdc++.h>
using namespace std;
string s,t; 
int main(){
	cin>>s;
	t=s;
	reverse(s.begin(),s.end()); //字符串反转,也是非常好用
	if(t==s)cout<<"Yes";else cout<<"No";
} 

 

邹文昊在2024-08-12 10:33:27追加了内容

判断回文数组代码:

#include<bits/stdc++.h>
using namespace std;
int a[1005],b[1005],n;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++)cin>>a[i];
	memcpy(b,a,sizeof(a));
	reverse(a+1,a+1+n);
	for(int i=1;i<=n;i++)if(a[i]!=b[i]){cout<<"No";return 0;}
	cout<<"Yes";
} 

 

邹文昊在2024-08-12 10:38:03追加了内容

感谢包思远的贡献:


0
0
我要回答