zoukankan      html  css  js  c++  java
  • 06、将数字字符后面插入*,顺序不改变——指针,数组,字符串

    将数字字符后面插入*,顺序不改变

    程序代码如下:

    /*
        2017年3月9日11:26:53
        功能:将数字字符后面插入*,顺序不改变
    */
    #include"stdio.h"
    int main()
    {
        char a[100];
        char b[100];
        char c[100];
        char *pa = a;
        char *ppa = a;
        char *pb = b;
        char *ppb = b;                                //该定义的目的是为了将指针移动到串首
        char *pc = c;
        printf("please input a string :
    ");
        gets(a);
        while(*pa)                                    //此循环部分是统计有多少个数字个数,同理就是插入几个*
        {
            if((*pa) >= '1' && (*pa) <= '9')          //将*放入到新的内存空间    
            {
                (*pb) = '*';                        
                pb++;    
            }
            pa++;                                     //不论此时循环的字符是何种形式,指针都需要将指针后移
        }
        *pb = '';
        while(*ppa)
        {
            if((*ppa) >= '1' && (*ppa) <= '9')
            {
                (*pc) = (*ppa);
                pc++;                                 //pc++;为了找到下次需要存储的位置
                (*pc) = (*ppb);
                ppb++;                                //ppb++;为了找到下次需要插入的数据
                pc++;
                
            }
            else
            {
                (*pc) = (*ppa);
                pc++;
            }
            ppa++;                                    //不论何种形式,进行操作的字符串都要找到下一次要判断的字符,故进行ppa++操作
        
        }
        *pc = '';
        puts(c);
    
        return 0;
    }
    /*
        总结:
        在VC++6.0中显示的结果:
        ————————————————————————
        please input a string :
        asdfdgfg32536xvgvdg#
        asdfdgfg3*2*5*3*6*xvgvdg#
        ————————————————————————
    */
    

     

  • 相关阅读:
    leetcode1161
    leetcode1160
    校招真题练习034 倒水(贝壳)
    校招真题练习033 音乐列表(贝壳)
    校招真题练习032 连续相同字符串(头条)
    校招真题练习031 三支球队比分(头条)
    leetcode1144
    ArrayQueue(队列)
    LinkQueue(链队)
    快速幂
  • 原文地址:https://www.cnblogs.com/wxt19941024/p/6524836.html
Copyright © 2011-2022 走看看