给一个不多于五位数的正整数,求出它是几位数,分别输出每一位数字,和按逆序输出各位数字
#include<stdio.h>
int main(){
int n,t,s=0;
scanf("%d",&n);
t=n;
while(t!=0){
printf("%d ",t%10);
t/=10;
s++;
}
printf("\n%d是%d位数",n,s);
return 0;
}
觉得有用的话采纳一下哈
因为题目指定参数是不超过5位的正整数,所以不做参数校验,以下是用java写的代码,自己翻译下吧。
import java.util.ArrayList;
import java.util.List;
public class NumberOfDigits {
public static Integer[] handle(Integer number) {
List<Integer> res = new ArrayList<>();
while (number > 0) {
res.add(number % 10);
number /= 10;
}
return res.toArray(new Integer[0]);
}
public static void main(String[] args) {
Integer number = 12345;
Integer[] res = handle(number);
int count = res.length;
System.out.println(String.format("%d是%d位数", number, count));
for (int i = 0; i < count; i++) {
System.out.print(res[i]);
}
System.out.println();
for (int i = count - 1; i >= 0; i--) {
System.out.print(res[i]);
}
}
}