对数字的处理,得到位数,逆序输出,顺序输出
来源:互联网 发布:linux dr.com客户端 编辑:程序博客网 时间:2024/06/05 05:25
#include <stdio.h>
#include <math.h>
/*
给一个整数数字num(正负都可以)
求出它是几位数;
分别输出每一位数字;
按逆序输出各位数字;
例如原数为:321,应输出123.
*/
int GetPlace(int num) //得到位数
{
int count=0;
while( num!=0 )
{
count ++ ; //循环次数与数字位数相等
num/=10; //每次循环整除一次减少一位,num=0,循环结束
}
return count ; //将值返回给函数
}
void PrintReverse(int num) //逆序输出
{
printf("逆序数字为 ");
while(num!=0)
{
printf("%d ",num%10); //对数取余可得到某一位数
num/=10; //取余之后,再整除10可得到原数字除个位以外的数字,直到num=0,循环结束
}
printf("\n");
}
{
int count=0;
while( num!=0 )
{
count ++ ; //循环次数与数字位数相等
num/=10; //每次循环整除一次减少一位,num=0,循环结束
}
return count ; //将值返回给函数
}
void PrintReverse(int num) //逆序输出
{
printf("逆序数字为 ");
while(num!=0)
{
printf("%d ",num%10); //对数取余可得到某一位数
num/=10; //取余之后,再整除10可得到原数字除个位以外的数字,直到num=0,循环结束
}
printf("\n");
}
//两个顺序输出,所用循环不同,思路相同。while ,for ,do …while三种混合使用
void PrintOrder1(int num)
{
int a=GetPlace(num); //a接收位数,根据位数决定取余和整除
int power = 1;
int i=1;
while( i<a ) //顺序输出:此循环决定被整除的数,12345/10000=1;2345/1000=2....从而得到第一位数...等等
{
int a=GetPlace(num); //a接收位数,根据位数决定取余和整除
int power = 1;
int i=1;
while( i<a ) //顺序输出:此循环决定被整除的数,12345/10000=1;2345/1000=2....从而得到第一位数...等等
{
power *= 10; //累乘
i++;
}
printf("顺序输出方法1:数字为 ");
for( ; num!=0 ; power /= 10)
{
printf("%d ",num/power); //顺序输出每一位数
num %= power; //每次减少num的某位数
}
printf("\n");
}
power *= 10; //累乘
i++;
}
printf("顺序输出方法1:数字为 ");
for( ; num!=0 ; power /= 10)
{
printf("%d ",num/power); //顺序输出每一位数
num %= power; //每次减少num的某位数
}
printf("\n");
}
void PrintOrder2(int num) //方法2
{
int a=GetPlace(num);
int power = 1 ;
for( int i = 1 ; i < a ; i++)
{
power *= 10 ;
}
printf("顺序输出方法2:数字为 ");
{
int a=GetPlace(num);
int power = 1 ;
for( int i = 1 ; i < a ; i++)
{
power *= 10 ;
}
printf("顺序输出方法2:数字为 ");
do
{
printf("%d ",num/power);
num %= power;
power /= 10;
}while(num!=0);
printf("\n");
}
int main()
{
PrintReverse(123456);
PrintOrder1(123456);
PrintOrder2(123456);
return 0;
}
*/
阅读全文
0 0
- 对数字的处理,得到位数,逆序输出,顺序输出
- 统计一个数字的位数并顺序和逆序输出这个数
- 对整型数字的处理(求位数,顺序打印,逆序打印)
- 对5位以内的正整数处理(判断他是几位数、顺逆序输出)
- 指定数字的输出位数
- 数字字符串的逆序输出
- acm-多位数处理,先输出它是几位数,并分离它的位数,最后逆顺序输出
- 35-给个数字,求位数,逆序输出
- 做的练习题,输入整数,逆序输出,并输出位数。
- 求出它是几位数 分别输出每一位数字 按逆序输出各位数字,
- 转: 求出它是几位数 分别输出每一位数字 按逆序输出各位数字
- 数字逆序输出
- 逆序输出单个数字
- C++数字按指定的位数输出
- 输出四位数各位上的数字
- C++数字按指定的位数输出
- Python 使用递归打印输出数字 (逆序和顺序)
- 给一个不多于5位的正数,求出它是几位数;分别输出每一位数字;按逆序输出各位数字。
- JAVA蓝桥杯 查找整数
- 11月24日云栖精选夜读:如何打造千万级Feed流系统?阿里数据库技术解读
- Python之redis(二)
- 时间序列笔记(六)
- org.springframework.data.mapping.PropertyReferenceException: No property name found for type User
- 对数字的处理,得到位数,逆序输出,顺序输出
- 基于.NET平台常用的框架整理
- @SuppressLint("DrawAllocation")作用和解决方法
- 图像分割
- 微信H5牛牛搭建教程
- 二维数组的问题
- 配合七牛云简易使用kindeditor编辑器的图片上传功能
- 在linux服务器上安装单机版redis
- String 和StringBuilder、StringBuffer 的区别