zltzlt 发表于 2020-1-6 20:47:00

练习题:倒序输出

倒序输出

题目

输入一个首位末位都不为 0 的四位数,将其各位数字倒序输出。

输入

一个首位末位都不为 0 的四位数。

输出

该四位数的倒序。

输入样例

1976

输出样例

6791

我的解答

// 将四位数倒序输出

#include <iostream>
using namespace std;

int main() {
        int a;
        cin >> a;
        cout << a % 10;
        a /= 10;
        cout << a % 10;
        a /= 10;
        cout << a % 10;
        a /= 10;
        cout << a;
        return 0;
}

bin554385863 发表于 2020-1-6 21:25:20

#include <iostream>
#include <sstream>
using std::string;
using std::stringstream;
//字符串法
void reverse(const int &n)
{
    stringstream tostr;
    tostr << n;
    string str;
    tostr >> str; //或者str=tostr.str;
    for (size_t i = 0; i < str.size(); i++)
    {
      if (n >= 0)
      {
            std::cout << *(str.rbegin() + i);
      }
      else
      {
            std::cout << "-" << *(str.rbegin() + i);
            if (i == str.size()-2)
            {
                break; //避免多输出一个负号;
            }
      }
    }
}
//循环
void wreverse(int &n)
{
    while (n != 0)
    {
      int t = n % 10;
      std::cout << t;
      n /= 10;
    }
}
int main(int argc, char const *argv[])
{
    int a = 123456789, b = -a;
    reverse(a);
    std::cout << std::endl;
    reverse(b);
    std::cout << std::endl;
    wreverse(a);
    std::cout << std::endl;
    wreverse(b);
    return 0;
}

jackz007 发表于 2020-1-7 00:29:06

#include <iostream>
using namespace std;

int main()
{
      int a , b                                           ;
      cin >> a                                          ;
      for(b = 0 ; a ; b = b * 10 + (a % 10) , a = a / 10) ;
      cout << b << endl                                 ;
}
页: [1]
查看完整版本: 练习题:倒序输出