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

xiaoxiao2021-02-28  126

#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; }总结:库函数是真心好用,要懂得利用起来哦~
转载请注明原文地址: https://www.6miu.com/read-80555.html

最新回复(0)