【C语言】输入一个正整数,依次输出数字。
#include <stdio.h>
#include <conio.h>
//要求:输入一个正整数,正序输出它的每一个数字
//例如输入:123456 输出:1 2 3 4 5 6
int main()
{
int num,i,k,a,w;
printf("Please enter a num:\n");
scanf("%d",&num);
a = power(10,len(num)- 1);//获取数字最大位
w = len(num);
for (i = 1;i <= w; i++)
{
k = num / a;//获取数字最高位
num = num % a;//去掉最高位
a /= 10;//a随着数字减小
printf("%d",k);
if (a >= 1)
{
printf(" ");
}
}
getch();
return 0;
}
int len(int num)//获取数字位数
{
int n = 0;
while (num > 0)
{
num /= 10;
n++;
}
return n;
}
int power (int base,int x)//指数函数
{ int i,p = 1;
for (i = 1;i <= x;++i)
{
p = p * base;
}
return p;
}
代码粗糙,望各位留下宝贵的意见。