源自今天做C语言的一道题目:
(《c语言程序设计与基础》 武汉大学出版社 p256 6)编写程序将一个不确定位数的正整数进行三位分节后输出,如输入1234567, 输出1,234,567
#include <stdio.h>
#include <stdlib.h>
int main() {
char cc,*c = (char *)malloc(sizeof(char));
int a = 0;
while((cc = getchar()) != '\n')
{
c[a]=cc;
a++;
c=(char*)realloc(c,(a+1)*sizeof(char));
if(c==NULL)
{
printf("error");
break;
}
}
int b= 3-(a%3);
for(int i=0;i<a;i++)
{
printf("%c",*(c+i));
b++;
if(b>=3&&i!=a-1)
{
b=0;
printf(",");
}
}
free(c);
c = NULL;
return 0;
}