首页 > 代码库 > c语言代码编程题汇总:将数字字符后面插入*,顺序不改变

c语言代码编程题汇总:将数字字符后面插入*,顺序不改变

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

程序代码如下:

 

 1 /*
 2     2017年3月9日11:26:53
 3     功能:将数字字符后面插入*,顺序不改变
 4 */
 5 #include"stdio.h"
 6 int main()
 7 {
 8     char a[100];
 9     char b[100];
10     char c[100];
11     char *pa = a;
12     char *ppa = a;
13     char *pb = b;
14     char *ppb = b;                                //该定义的目的是为了将指针移动到串首
15     char *pc = c;
16     printf("please input a string :\n");
17     gets(a);
18     while(*pa)                                    //此循环部分是统计有多少个数字个数,同理就是插入几个*
19     {
20         if((*pa) >= 1 && (*pa) <= 9)          //将*放入到新的内存空间    
21         {
22             (*pb) = *;                        
23             pb++;    
24         }
25         pa++;                                     //不论此时循环的字符是何种形式,指针都需要将指针后移
26     }
27     *pb = \0;
28     while(*ppa)
29     {
30         if((*ppa) >= 1 && (*ppa) <= 9)
31         {
32             (*pc) = (*ppa);
33             pc++;                                 //pc++;为了找到下次需要存储的位置
34             (*pc) = (*ppb);
35             ppb++;                                //ppb++;为了找到下次需要插入的数据
36             pc++;
37             
38         }
39         else
40         {
41             (*pc) = (*ppa);
42             pc++;
43         }
44         ppa++;                                    //不论何种形式,进行操作的字符串都要找到下一次要判断的字符,故进行ppa++操作
45     
46     }
47     *pc = \0;
48     puts(c);
49 
50     return 0;
51 }
52 /*
53     总结:
54     在VC++6.0中显示的结果:
55     ————————————————————————
56     please input a string :
57     asdfdgfg32536xvgvdg#
58     asdfdgfg3*2*5*3*6*xvgvdg#
59     ————————————————————————
60 */

 

c语言代码编程题汇总:将数字字符后面插入*,顺序不改变