<1>判断输入的数是一个几位数
这里利用一个简单的while循环即可实现
while (x)
{
if (x / 10 != 0)
suu++;
x = x / 10;
}
<2>按序或逆序输出其各位数字
首先使用数组将数字每一位取出存入数组
for (i = 0; i <= suu; i++)
{
if (n == 1)
a[suu] = n;
a[i] = n % 10;
n = n / 10;
}
最后利用for循环语句将其正反输出即可
完整源代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,suu=1,x,i;
int a[5];//数据最多五位
printf("请输入一个五位以内的正整数
");
scanf("%d", &n);
x = n;
while (x)//判断位数
{
if (x / 10 != 0)
suu++;
x = x / 10;
}
printf("所输入的数字是一个%d位数
", suu);
for (i = 0; i <= suu; i++)//各位数存入
{
if (n == 1)
a[suu] = n;
a[i] = n % 10;
n = n / 10;
}
printf("按序输出为:
");
for (i = suu-1; i >= 0; i--)//按序输出
printf("%4d", a[i]);
printf("
按逆序输出为:
");
for (i = 0; i <= suu-1; i++)//按逆序输出
printf("%4d", a[i]);
printf("
");
system("pause");
return 0;
}