zoukankan      html  css  js  c++  java
  • 字符串处理函数


    由于字符串的应用广泛,为方便用户对字符串的处理,C语言函数库中除了前面用到的库函数gets()与puts()之外,还提供了另外一些常用的库函数,其函数原型说明在string中。下面介绍一些最常用的字符串库函数。

    1.函数名:strcpy

    用法:strcpy(s1,s2)

    功能:将s2复制到s1

    2.函数名:strcat

    用法:strcat(s1,s2)

    功能:连接s2到s1的末尾,切s1后面的''被取消

    3.函数名:strlen

    用法:strlen(s1,s2)

    功能:返回s1的长度(不包含空字符)

    4.函数名:strcmp

    用法:strcmp(s1,s2)

    功能:当s1=s2时,返回0值。当s1>s2时,返回大于0的值。当s1<s2时,返回小于0的值

    整数的拼接
    设有n个整数(3≤n≤10),将这些整数拼接起来,可以形成一个最大的整数。 例如 n=3, 三个整数分别为21, 7, 34, 拼接后最大的整数为: 73421
    
    输入
    第一行一个整数n ,表示有n个整数 第二行n个整数,数与数之间用一个空格分隔。
    
    输出
    一个拼接后的最大的整数。
    
    样例
    输入
    3
    21 7 34
    输出
    73421
    
    
    #include<bits/stdc++.h>
    using namespace std;
    char a[100][100];
    char temp1[200],temp2[200];
    int main()
    {
    int n;
    cin>>n;
    for(int i=1; i<=n; i++)
        cin>>a[i];
    for(int i=1;i<=n-1;i++)
    for(int j=i+1;j<=n;j++)
    {
       strcpy(temp1,a[i]);
       strcpy(temp2,a[j]);
       strcat(temp1,a[j]);
       strcat(temp2,a[i]);
    if (strcmp(temp1,temp2)<0 )
    {
    strcpy(temp1,a[i]);
    strcpy(a[i],a[j]);
    strcpy(a[j],temp1);
    }
    }
    for(int i=1;i<=n;i++)
    cout<<a[i];
    cout<<endl;
    }
    

      

    5.函数名:strchr

    用法:strchr(s1,ch)

    功能:返回指针,指向ch在s1中的首次出现

    int kk=strchr(a,b)-(a);
    	//查找字符b在a中出现的位置,如果k>=0则说明找到了,如果为负数则没有找到
    

      

    6.函数名:strstr

    用法:strstr(s1,s2)

    功能:返回指针,指向s2在s1中的首次出现

    7.函数名:strlwr

    用法:strlwr(s)

    功能:转换s中的大写字母为小写字母

    8.函数名:strupr

    用法:strupr(s)

    功能:转换s中的小写字母为大写字母

    单词翻转
    输入一个句子(一行),将句子中的每一个单词翻转后输出。

    输入
    只有一行,为一个字符串。单词之间以空格隔开。字符串长度不会超过1000

    输出
    翻转每一个单词后的字符串,单词之间的空格需与原文一致。

    样例
    输入
    hello world
    输出
    olleh dlrow

    #include<bits/stdc++.h>
    using namespace std;
    char a[1000];
    int main()
    {
    int l,i,j;
    gets(a);
    a[l=strlen(a)]=' ';
    //在结束位置加一个空格 
    for(i=0;i<=l;i++)
    if(a[i]==' ') 
    {
        for(j=i-1;a[j]!=' '&&j>=0;j--)
        //从找到的空格位置-1,这个位置开始
    	//倒过来输出字符,并且这个字符不能是空格 
             cout<<a[j];
        cout<<' ';
        //中间可能遇到多个空格,于是直接输出 
    }
    return 0;
    }
    

      

  • 相关阅读:
    注意:MagickReadImageBlob() 引发的问题
    Notepad++ 【自动完成】与【输入时提示函数参数】互相冲突,无奈
    收藏:png8和png24的根本区别
    【物理分辨率】与【逻辑分辨率】
    算法
    算法
    Linux 用户和文件
    Oracle索引技术研究
    Linux Socket
    Linux Socket
  • 原文地址:https://www.cnblogs.com/cutemush/p/13614510.html
Copyright © 2011-2022 走看看