这其实就是一个10到1000进制转化, 把1000进制的每一位保存在数组里, 最后按一定顺序输出就是了
int main()
{
int v[20] = {0};
int iTop = 0;
int i = 0;
scanf("%d", &i);
while (i != 0)
{
v[iTop++] = i % 1000;
i /= 1000;
}
while (--iTop >= 0)
{
printf("%d", v[iTop]);
if (iTop > 0)
{
printf(",");
}
}
}
如果用递归的话就更简单了, 你琢磨琢磨
void output(int i)
{
if (i > 1000)
{
output(i / 1000);
putchar(',');
}
printf("%d", i % 1000);
}
int main()
{
int v[20] = {0};
int iTop = 0;
int i = 0;
scanf("%d", &i);
output(i);
}
#include
main()
{
char a[200];
char m,n,i,j;
for(i=0;a!='\n';i++)
{
m=getch();
if(m!='\n')
a[i]=m;
else
break;
}
for(j=0;j {
n=j%3;
if(n=0&&j!=0}
printf(",%d",a[j]);
else
printf("%d",a[j]);
}
}
机子上没有c语言环境,不能编译调试,不好意思,大致思路写出来了,
如果需要输入200位以上的数字时只要修改前面a[]中数字就行了,没有编译,自己编译修改一下吧。。。
这个简单啊;
定义三个In变量,a,b,c;
读入就用
scanf("%2d%3d%3d",&a,&b,&c);
输出就用:
printf("%d,%d,%d.\n",a,b,c);
试过了:
#include
int main()
{
int a,b,c;
scanf("%2d%3d%3d",&a,&b,&c);
printf("%d,%d,%d\n",a,b,c);
};