您的位置:首页 > 编程语言 > C语言/C++

十进制数,顺序、逆序输出每位数字;(C语言实现)

2018-03-29 00:00 896 查看
#include <stdio.h>
//十进制数,顺序、逆序输出每位数字;

int GetFigures(int n)//得到数字的位数
{
int count = 0;//初始化位数
do
{
n /= 10;//丢掉个位数字
count++;
}while(n!=0);//n>0,cout(位数)最低为1
return count;
}
void PrintReverse(int n)//逆序打印每位数字
{
if(n < 0)
{
printf("- ");
n = -n;
}
do
{
printf("%d ",n%10);//输出每位数字
n /= 10;//丢掉个位数字
}while(n != 0);
printf("\n");
}
void PrintOrder(int n)//顺序打印每位数字
{
if(n<0)
{
printf("- ");
n= -n;
}
int power  = 1;//初始化权数
int count = GetFigures(n);//调用GetFigures(n)得到位数并赋值
for(int i=0;i<count-1;i++)//权数增加10的(conunt-1)次方
{
power *= 10;
}
do
{
printf("%d ",n/power);//打印最高位数字
n %= power;//丢弃最高位
power /= 10;//权数减一位
}while(n != 0);
printf("\n");
}

int main()
{
PrintOrder(1203456789);
PrintOrder(10203);
PrintOrder(0);
PrintReverse(-123456789);
PrintOrder(-123);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐