1018: 求整数各位上的数字(未完成)

本文介绍了一种算法,该算法接收一个不大于五位的正整数作为输入,首先确定并输出该数字的位数,然后逐位输出每一个数字,并最后以逆序方式输出这些数字。示例代码使用C语言实现,通过递归方法处理数字的分解与重组。

Description

给出一个不多于5位的正整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

Input

一个不大于5位的正整数(无前导零)

Output

三行第一行 位数第二行 用空格分开的每个数字,注意最后一个数字后没有空格第三行 按逆序输出这个数

Sample Input

 

12345

 

Sample Output

5
1 2 3 4 5
54321

#include<stdio.h>
#include<String.h>
void main()
{
	int n,i,k=0;
	int j=0;
	char str[50]={0};
	void func(n);
	
	printf("请输入一个小于5位的整数:");
	scanf("%d",&n); 
	while(n)
	{
		i=i*10+n%10;
		n=n/10;
		j++;
	}
 	printf("%d\n",j);
//第二个要求(输出每一位) 
	void func(n)
	{
		int v;
    if(n==0) return;//到0结束。
    v=n%10;//取出个位。
    func(n/10);//递归调用
    printf("%d ", v);//输出。
	}
    

//逆序输出 
	printf("%d\n",i);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值