C语言:数字分离

题目:在这里插入图片描述

思路:先判断位数,在进行分离。

初级代码:

#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;
}

版权声明:本文为weixin_43540427原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。