十进制数,顺序、逆序输出每位数字;(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;
}
//十进制数,顺序、逆序输出每位数字;
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;
}
相关文章推荐
- 逆序输出n的每一位(存整取余)和顺序输出n的每位数字(存余取整)
- 【C语言】输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)按逆序输出各位数字,(3)按顺序输出各位数字
- C语言实现输入三个数字后按大小顺序将三个数字输出
- C语言递归算法系列_循环实现逆序和正序输出一个整数的每位数 (2)
- [C语言] 顺序或逆序输出n的每一位数字
- C语言中数字的处理问题(位数统计、正逆序输出)
- 统计一个数字的位数并顺序和逆序输出这个数
- c语言实现字符串的逆序输出
- 【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)
- C语言:将n个数输入时的顺序逆序排列,用函数实现。
- 【C语言小练习】输入十个数,从其中删除指定数字(可能多个)后,输出剩余的数(顺序与输入的相同)
- C语言用数组1. 简单约瑟夫环问题: N个人,编号从1~N围成一圈,输入一个数T,从1号开始报数,报到T的人出圈;下一人又从1开始报数,下一个报到T的人出圈,输出出圈顺序。 考虑问实现约瑟夫环问题
- 【源代码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)
- 栈的应用-用栈实现八进制的顺序输出(c语言实现)
- C语言实现单链表逆序与逆序输出实例
- c语言编程如何实现-十进制数转换成二进制和输出
- 输入三个字符串,按由小到大的顺序输出(指针)(C语言的实现)
- C语言—正序,逆序输出任意整数的每一个数字
- 【面试算法系列】逆序输出一个单链表 - C语言实现
- 怎样用C语言实现一个十进制数向R进制变换并输出(数据结构)