Try Again

简单函数(更新中)

一、判断是否是字母,以及大小写转换

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));
}

 

posted @ 2017-07-06 16:04  十年换你一句好久不见  阅读(176)  评论(0编辑  收藏  举报