1 #include<stdio.h>
2
3 #include<string.h>
4
5 #include<stdlib.h>
6
7
8
9
10 void PrintString(char *p,char *In_num)
11
12 {
13
14 int i=0;
15
16 int lenth;
17
18 if(strlen(p)<4)
19
20 puts(In_num);
21
22 else
23
24 {
25
26 lenth=strlen(p)%3;
27
28 for(i=0;p[i]!='\0';i++)
29
30 {
31
32 printf("%c",p[i]);
33
34 if((i+1)%3==lenth&&p[i+1]!='\0')
35
36 printf("%c",44);
37
38 }
39
40 }
41
42 }
43
44 int main(void)
45
46 {
47
48 char *In_num,*str;
49
50 int i=0;
51
52 In_num=(char *)malloc(sizeof(char *));
53
54 str=(char *)malloc(sizeof(char *));
55
56 if(In_num==NULL) //检查分配是否成功;
57
58 {
59
60 printf("Can't get so many values.\n");
61
62 exit(1);
63
64 }
65
66 printf("Please input the num_string:\n");
67
68 gets(In_num);
69
70 strcpy(str,In_num);
71
72 char *p;
73
74 char *n[2];
75
76 p=strtok(str,".");
77
78 while(p)
79
80 {
81
82 n[i++]=p;
83
84 p=strtok(NULL,".");
85
86 }
87
88 PrintString(n[0],In_num);
89
90 if(i==2&&strlen(n[0])>=4)
91
92 {
93
94 printf(".");
95
96 for(i=0;n[1][i]!='\0';i++)
97
98 {
99
100 printf("%c",n[1][i]);
101
102 }
103
104 }
105
106 printf("\n");
107
108 free(In_num); //释放;
109
110 free(str);//释放;
111
112 getchar();
113
114 return 0;
115
116 }