任意输入一个不多于5位数的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;

任意输入一个不多于5位数的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;

这里你需要用到取余和除的操作,你看你输入的数比方说是123这个时候你用它取余10就会把三取出来这个时候你再找一个变量加一,之后你再给他除10,知道这个数等于0就跳出循环,当然你这个题目不用取余,我觉得你以后可能会用到,所以提一下你可以试试,再把它每一位在输出出来

#include <stdio.h>
#include <math.h>
int main(void) { 
int n;  
scanf("%d",&n);
int i=0,arr[5];
while(n>0)
{
  arr[i++]=n%10;
  n/=10;
}
printf("%d\n",i);
for(i--;i>=0;i--)
  printf("%d ",arr[i]);
    return 0;
}