问题标题: 酷町堂:4987

0
0
已解决
胡景波
胡景波
中级光能
中级光能

4987   反转函数1

题目描述 Description

数字反转:
编写一个函数,其功能是将一个正整数反转。如12可以反转为21
输入一个正整数n,代表要反转的数的个数,接着输入n个正整数,将这些正整数依次反转并输出。(这些数都是2位数)

输入描述 Input Description

第一行输入一个整数n
第二行 n个数

输出描述 Output Description

一行,这些数反转后输出

样例输入 Sample Input

 

2
12 10

样例输出 Sample Output

 

21 1

数据范围及提示 Data Size & Hint

n<=100
每个数的范围0~99
用函数实现过程

 

#include<iostream>
using namespace std;
int n,a,s=0,p=0;
void t(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a;
        for(int i=1;i<=a;i++){
            do{
                s=s*10+a%10;
                a/=10;
            }while(a!=0); 
            cout<<s<<" ";
        }
        s=0;
    }
}
int main()
{
    t();
    return 0;
} 

70


0
已采纳
戴墨晗
戴墨晗
初级守护
初级守护

考虑一下,在最开始用while判断他末尾有多少个0,在执行

1
杜智宸
杜智宸
中级光能
中级光能

如果反转过后首位是0呢?

 

0
王子健
王子健
初级天翼
初级天翼

都是两位数还不简单?字符串好写一点,判断s[s.size()-1]是不是0,是0的话在倒序输出的时候从s.size()-2开始

我要回答