简单函数(更新中)
一、判断是否是字母,以及大小写转换
isalpha() 判断是否是字母;
isupper()判断是否是大写字母;
islower()判断是否是小写字母;
tolower()大写转换成小写;
toupper()小写转换成大写;
ps: 凡是判断成立返回1,反之返回0。
#include<iostream> #include<cstdio> using namespace std; int main() { char a[110]; gets(a); for(int i=0;a[i]!='\0';i++) { if(isalpha(a[i])) a[i]=tolower(a[i]);//判断是否为字母,大写转换成小写 cout<<a[i]; } cout<<endl; gets(a); for(int i=0;a[i]!='\0';i++) { if(isalpha(a[i])) a[i]=toupper(a[i]);//判断是否为字母,()小写转换成大写 cout<<a[i]; } cout<<endl; gets(a); for(int i=0;a[i]!='\0';i++) { if(isupper(a[i])) cout<<a[i];//输出大写 else cout<<' '; } cout<<endl; gets(a); for(int i=0;a[i]!='\0';i++) { if(islower(a[i])) cout<<a[i];//输出小写 else cout<<' '; } cout<<endl; return 0; }
二 、反转函数reverse
#include <iostream> using namespace std; typedef long long ll; int main() { string s,t; cin>>s; t=s; reverse(t.begin(),t.end()); puts(t==s?"Yes":"No"); return 0; }
三 、累加函数 count
algorithm头文件定义了一个count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。
编写程序读取一系列int型数据,并将它们存储到vector对象中,然后统计某个指定的值出现了多少次。
struct cmp { bool operator()(const string &s1,const string &s2) { if(s1.length()!=s2.length())return s1.length()<s2.length(); int c1=count(s1.begin(),s1.end(),'1'); int c2=count(s2.begin(),s2.end(),'1'); return (c1!=c2?c1<c2:s1<s2); } };
四 、全排列函数next_permutation(a,a+n)(输出时puts效率更高些)
#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <vector> #include <queue> #include <cstdlib> #include <iomanip> #include <cmath> #include <ctime> #include <map> #include <set> using namespace std; #define lowbit(x) (x&(-x)) #define max(x,y) (x>y?x:y) #define min(x,y) (x<y?x:y) #define MAX 100000000000000000 #define MOD 1000000007 #define pi acos(-1.0) #define ei exp(1) #define PI 3.141592653589793238462 #define ios() ios::sync_with_stdio(false) #define INF 0x3f3f3f3f #define mem(a) (memset(a,0,sizeof(a))) typedef long long ll; int a[11]; int main() { for(int i=0;i<10;i++) { scanf("%d",&a[i]); } sort(a,a+10); do{ for(int i=0;i<10;i++) { if(i) printf(" "); printf("%d",a[i]); } printf("\n"); }while(next_permutation(a,a+10)); }