我刚没学多久别喷我
#include<iostream>
#include<string>
#include<sstream>
#include<algorithm>
#include<ctime>
#include<cstdlib>
#include<math.h>
using namespace std;
/*字符串处理*/
string to_str(int n){//int转string
stringstream transform;
transform<<n;
string str;
transform>>str;
return str;
}
int to_num(string str){//string转int
stringstream transform;
transform<<str;
int n;
transform>>n;
return n;
}
int n_c_of(int n,char c,string s){//字符串内第n个指定字符的下标
int i=0,j=n;
for(i=0;j>0;i++){
if(s[i]==c){
j--;
}
}
return i-1;
}
int sum_of_c_in_s(char c,string s){//字符串内指定字符的个数
int sum=0;
for(int i=0;i<s.length();i++){
if(s[i]==c){
sum++;
}
}return sum;
}
bool include(string s,char c){//字符串内包含某字符?
for(int i=0;i<s.length();i++){
if(s[i]==c){
return true;
}
}return false;
}
int first(char c,string s){//第一个指定字符
return n_c_of(1,c,s);
}
int last(char c,string s){//最后一个指定字符
return n_c_of(sum_of_c_in_s(c,s),c,s);
}
double if_then_else(bool flag,double n1,double n2){
if(flag){
return n1;
}else return n2;
}
/*数学*/
bool prime(int n){//n是否是质数?
int sum=0;
for(int i=1;i<=n;i++){
if(n%i==0){
sum++;
}
}
if(sum==2){
return true;
}return false;
}
int gcd(int a,int b){//最大公因数
return __gcd(a,b);
}
int lcm(int a,int b){//最小公倍数
return a*b/__gcd(a,b);
}
int prime_n(int n){//第n个质数
int j;
for(int i=1;i<=n;i++){
j++;
while(!prime(j)){
j++;
}
}return j;
}
int digit(int n,int d){//数位
string num=to_str(n);
reverse(num.begin(),num.end());
return num[d-1]-48;
}
void bubble_sort(int n,int sort[]){//冒泡排序
int k,temp;
for(int i=0;i<n;i++){
k=i;
for(int j=i+1;j<n;j++){
if(sort[j]<sort[k]){
k=j;
}
}
temp=sort[i];
sort[i]=sort[k];
sort[k]=temp;
}
}
void choose_sort(int n,int q[]){//选择排序
int k,temp;
for(int i=0;i<=n-1;i++){
cin>>q[i];
}
for(int i=0;i<=n-1;i++){
k=i;
for(int j=i+1;j<n;j++){
if(q[j]<q[k]){
k=j;
}
}
temp=q[i];
q[i]=q[k];
q[k]=temp;
}
}
double dou_abs(int n){
return if_then_else(n<0,n*-1.0,n*1.0);
}
double dis(double x1,double y1,double x2,double y2){
double x=dou_abs(x1-x2);
double y=dou_abs(y1-y2);
return sqrt(pow(x,2)+pow(y,2));
}
double helen_triangular_s(double x1,double y1,double x2,double y2,double x3,double y3){
double A=dis(x1,y1,x2,y2);
double B=dis(x1,y1,x3,y3);
double C=dis(x2,y2,x3,y3);
double p=(A+B+C)/2;
return sqrt(p*(p-A)*(p-B)*(p-C));
}
持续更新中,有什么建议随便题