求正整数的位数,依次输出,逆序打印

来源:互联网 发布:日购网怎么样知乎 编辑:程序博客网 时间:2024/06/05 18:37
#include<stdio.h>#include<stack>#include<iostream>using namespace std;//1、求正整数的位数,2、分别输出每一位,3、逆序值打印//对于正整数来说,一般是从低位开始得到,如果需要输出,则特点是先进后出,可以使用栈void Count(int data,stack<int> &s) {do{int tmp = data % 10;  //依次得到低位数字s.push(tmp);          //放入栈中data /= 10;}while(data != 0);}void Reverse(int data,stack<int> &s) //输出数字 并得到逆序值{cout<<"每一位分别是:";int reverse = 0; int i=1;while(!s.empty()){reverse += s.top()*i;cout<<s.top()<<" "; s.pop();i*=10;}cout<<endl;cout<<"逆置结果是:"<<reverse<<endl;}int main(){int data = 0;cin >> data;stack<int> s;Count(data,s);cout<<data<<"的位数是:"<<s.size()<<endl;  //栈的大小就是它的位数。Reverse(data,s);cout<<endl;return 0;}
总结:库函数是真心好用,要懂得利用起来哦~
阅读全文
0 0