问题标题: 酷町堂:4987 反转函数1

0
0
已解决
丁博扬
丁博扬
中级天翼
中级天翼

4987   反转函数1经验值:800

题目描述 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
用函数实现过程

丁博扬在2020-11-22 11:19:10追加了内容

错误代码:

  • #include<iostream>
  • #include<string>
  • using namespace std;
  • int main(){
  • string s;
  • cin>>s;
  • while(s.size()!=1&&s[s.size()-1]=='0'){
  • s.erase(s.size()-1,1);
  • }
  • if(s[0]=='-'){
  • cout<<s[0] ;
  • for(int i=s.size()-1;i>=1;i--) cout<<s[i];
  • }
  • else{
  • for(int i=s.size()-1;i>=0;i--) cout<<s[i];
  • }
  • return 0;
  • }
丁博扬在2020-11-22 11:36:42追加了内容

有人吗

丁博扬在2020-11-25 18:23:11追加了内容

丁博扬在2020-11-25 18:23:20追加了内容

丁博扬在2020-11-25 18:23:35追加了内容


0
已采纳
王子健
王子健
初级守护
初级守护

开头的零没有删除,有以下方法:

一、特判法:

因为题目说了数字是0~99,所以判断你输入的字符串是否为10,20,30,40....90即可,如果是的话先删除再输出

二、数字法:

用反转函数相信你是会的

0
0
我要回答