• 牛客华为机试题库 字符串分隔


    题目描述

    •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
    •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

    输入描述:

    连续输入字符串(输入2次,每个字符串长度小于100)

    输出描述:

    输出到长度为8的新字符串数组

     
     
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char in[101]={0};
        char out[9]={0};
        while(gets(in))   //gets标准读入字符串直到换行符为止  跟cin和scanf在读入字符串时遇到空格停止有区别    
        {
            char *p=in;  char* 表示以该指针为首的字符数组
            while(*p)  //不为空串
            {
                for(int i=0;i<8;i++)
                {
                    if(p[i])
                        out[i]=p[i];
                    else
                        out[i]='0';  //不够补0 因为是字符串所以补得0也是字符
                }
                printf("%s
    ",out);
                p=p+8;
            }
            memset(in,0,110);  //清0  为in数组,前110个字符赋0
        }
    }

    本题自己想法是给string按照位依次赋值0,但实际上不能这么做。而且string也有专门的函数append为其加0;

    同样也熟悉了cin,scanf和gets的区别  以及字符串数组的指针运用 还有memset的运用回顾

  • 相关阅读:
    过去式和过去进行式
    现在式和现在进行式
    英文文法的最基本规则
    Vue 标签中的ref属性和refs
    APICloud
    小程序
    React 传值 组件传值 之间的关系
    css clip样式 属性功能及作用
    小程序点击预览 为什么显示空白
    小程序
  • 原文地址:https://www.cnblogs.com/libin123/p/12242669.html
Copyright © 2020-2023  润新知