题目:
思路:先判断位数,在进行分离。
初级代码:
#include <stdio.h>
int main()
{
int a,b=1,c=0,i; /*a为输入正整数,c为正整数位数*/
scanf("%d",&a);
i=a;
while(b!=0)
{
b=i/10;
c++;
i=i/10;
}
switch(c)
{
case 1:printf("%d",a);break;
case 2:printf("%d,%d",a/10,a%10);break;
case 3:printf("%d,%d,%d",a/100,a/10%10,a%100);break;
case 4:printf("%d,%d,%d,%d",a/1000,a/100%10,a/10%10,a%10);break;
case 5:printf("%d,%d,%d,%d,%d",a/10000,a/1000%10,a/100%10,a/10%10,a%10);break;
}
return 0;
}
这个方法还是太复杂,等我再想想更简单的方法再补充。
第二种方法,可以用数组:
#include <stdio.h>
int main()
{
int i;
char c[6];
scanf("%s",c);
printf("%c",c[0]);
for(i=1;c[i]!='\0';i++)
printf(",%c",c[i]);
return 0;
}