分割整数 正序输出各位数 三个版本

2023-07-28 19:04:45 浏览数 (1)

方法一

首先用一个函数算出数的位数,然后一边除一边输出。

代码语言:javascript复制
#include<stdio.h>
int f(int n)
{
	int i=0;
	while(n!=0)
		{
			n/=10;
			i  ;
		}
		return i;
} 
int main()
{	int n;
	int j;
	int power=1;
	scanf("%d",&n);
	for(j=1;j<f(n);j  )
	{
		power*=10;
	}
	while(n!=0)
	{
		printf("%d ",n/power);
		n%=power;
		power/=10;
	}
}

方法二 

几个月后,再次看到这里,想到了另一种方法。

把数变成字符,事情就变得简单许多。

代码语言:javascript复制
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
	int num,i;
	scanf("%d",&num);
	string s=to_string(num);
	for(i=0;s[i];i  )
	{
		if(i!=0)
		printf(" ");
		printf("%c",s[i]);
	}
}

方法三 

今天又想到用C语言写一个,不变了,直接用字符串去存

代码语言:javascript复制
#include<stdio.h>
int main()
{
	char a[100];
	int i;
	while(scanf("%s",a)!=EOF)
	for(i=0;a[i];i  )
	printf("%c ",a[i]); 
}

0 人点赞