概述
对于一个整型数据来说要想逐个输出就要与10以及该整数除以10以后到底是取余数还是取商联系起来下面通过具体事例来解释:
将整型数据a = 1234按逆序输出:
解题步骤:1、用函数名为Digit的函数用count++计数求出a的位数
2、PrintfReverse(int m )通过调用Digit函数通过for循环取模运算然后去尾输出所谓的去尾就是输出末位(m%10),但这就出现了这个数到底是负数呢还是正数,如果是整数可以直接输出,但经过判断后如果是负数就要在每次输出数字之前先输出一个负号;
-
int PrintfOrder(int x)通过调用Digit函数得到整数的位数然后进行for循环得到10的倍数power然后进行while循环去头操作,所谓的去头就是去掉整数的第一位,然后进行power = power/10操作,再继续while循环直到power == 0为止正负号的问题同上
-
源代码如下:
#include<iostream> using namespace std; int Digit(int n) { int count = 0, i = 0; do { n = n/10; count +=1; // 计算整数的位数 }while( n != 0 ); return count; } int PrintfReverse(int m ) // 逆序输出 { int t = 0, count = 0; count = Digit(m); // 调用函数 if( m < 0 ) 判断整数是正数还是负数 { m = - m; } for( int i = 0;i < count ; i++ ) { t = m%10; // 取模求出最后一位 m = m/10; // 取商求出剩余的几位 cout<<t<<" "; // 添加负号逆序输出 } cout<<endl; return 0; } int PrintfOrder(int x) { int i = 0, t = 0, count = 0, power = 1; count = Digit(x); // 调用函数 if( x < 0 ) // 判断整数的正负性 { x = -x; } for( i = 0; i < count-1; i++) { power *= 10; } while( x != 0 ) { t = x / power; x = x % power; // 去尾操作 power = power/ 10; cout <<t<< " "; } cout<<endl; return 0; } int main() { int a = 0; cin>>a; cout<<Digit(a)<<endl; PrintfReverse(a); PrintfOrder(a); return 0; }
最后
以上就是无语店员为你收集整理的整数类型的数据的逐个输出的全部内容,希望文章能够帮你解决整数类型的数据的逐个输出所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复