C语言实验——整数位
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
输入一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。
Input
输入一个不多于5位的正整数。
Output
输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。
Example Input
123
Example Output
3 1 2 3 3 2 1
Hint
Author
crq
#include <stdio.h>
#include <math.h>int weisu(int n);
int main ()
{
int n, i, a[6], y;
scanf ("%d", &n);
y = weisu(n);
printf ("%d\n", y);
for (i = 0 ; i < y ; i++)
{
a[i] = n % 10;
n = n /10;
}
for (i = y - 1 ; i >= 0 ; i--)
{
if (i != 0)
printf ("%d ", a[i]);
else printf ("%d\n", a[i]);
}
for (i = 0 ; i < y ; i++)
{
if (i != y - 1)
printf ("%d ", a[i]);
else printf ("%d\n", a[i]);
}
return 0;
}
int weisu(int n)
{
int i= 0 ;
while(n!=0)
{
n/=10;
i++;
}
return i;
}