永发信息网

数字反转(c++

答案:2  悬赏:0  手机版
解决时间 2021-02-16 04:44
  • 提问者网友:流星是天使的眼泪
  • 2021-02-16 01:12
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零,例如输入-380,反转后得到的新数为-83。

【输入】

输入共 1 行,一个整数N。

-1,000,000,000 ≤ N≤ 1,000,000,000。

【输出】

输出共 1 行,一个整数,表示反转后的新数。

【输入样例】

123

【输出样例】

321

【提示】

【输入输出样例 2】

输入:

-380

输出:

-83

教材上不会的,请教一下
最佳答案
  • 五星知识达人网友:孤老序
  • 2021-02-16 01:18
#include <bits/stdc++.h>
using namespace std;

  char st[233];

  int main(){
   scanf("%s",&st);
   int but=0;
   if (st[0]=='-') printf("-"),but++;
   if (st[but]=='0'){
     printf("0");return(0);
}
int top=100,flag=0;
while (top>=but){
  if (isdigit(st[top])){
   if (st[top]=='0'){
     if (flag) printf("0");
}else
  printf("%d",st[top]-'0'),flag=1;
  }
  top--;
}
  }
全部回答
  • 1楼网友:山君与见山
  • 2021-02-16 02:51
你那句while(a=!0);肯定错了(!0)一直为真会死循环的,还有 b=a%10; cout<>a; do { b=a%10; c=a/10; a=10*b+c; cout< }while(0); 这个do ----while() 若你只是调换两位的话 可以省了,没起到作用,若是任意的这个就另当别论。、 希望对你有帮助!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯