华师一附中OI组

标题: P1307 数字反转 [打印本页]

作者: admin    时间: 2018-5-13 11:21
标题: P1307 数字反转
https://www.luogu.org/problemnew/show/P1307

题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入输出格式
输入格式:
输入文件名为reverse.in 。

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

输出格式:
输出文件名为reverse.out 。

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

输入输出样例
输入样例#1:
123
输出样例#1:
321
输入样例#2:
-380
输出样例#2:
-83
说明
数据范围

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

noip2011普及组第一题
作者: WJL    时间: 2018-5-25 22:40
  1. #include <iostream>
  2. using namespace std;
  3. long n;
  4. int main()
  5. {
  6.     cin>>n;
  7.     if(n==0)
  8.         cout<<0<<endl;
  9.     else
  10.     {
  11.         if(n<0)
  12.         {
  13.             cout<<'-';
  14.             n=-1*n;
  15.         }
  16.         while(n%10==0)
  17.             n/=10;
  18.         while(n)
  19.         {
  20.             cout<<n%10;
  21.             n/=10;
  22.         }
  23.     }
  24.     return 0;
  25. }
复制代码

作者: 倚窗倾听风吹雨    时间: 2018-7-7 14:53
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. char s[20],k[20];
  5. int i,j,m=0,n=0;
  6. int main()
  7. {
  8.     cin>>s;
  9.     while(s[j]!=0)j++;
  10.     if(s[0]=='-')
  11.     {
  12.         for(i=0; i<j-1; i++)
  13.         k[i]=s[j-i-1];
  14.         n=0;
  15.         while(k[n]=='0')n++;
  16.         cout<<"-";
  17.         for(i=n;i<j-1;i++)
  18.         cout<<k[i];
  19.     }
  20.     else
  21.     {
  22.         for(i=0; i<j; i++)
  23.         k[i]=s[j-i-1];
  24.         n=0;
  25.         while(k[n]=='0')n++;
  26.                 if(n==j)cout<<"0";
  27.                 else for(i=n;i<j;i++)
  28.                 cout<<k[i];
  29.     }
  30.     return 0;
  31. }
复制代码

作者: universehyf    时间: 2018-7-8 16:49
  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. int l,start,i;
  5. string s;
  6. int main()
  7. {
  8.     cin>>s;l=s.length();
  9.     if(s[0]=='-') {cout<<'-';start=1;}
  10.     while(s[l-1]=='0') {l--;}
  11.     for(i=l-1;i>=start;i--) cout<<s[i];
  12.     return 0;
  13. }
复制代码

作者: WJL    时间: 2018-8-10 19:34
标准程序:#include<iostream>
using namespace std;
int n,r,m;
int main()
{
    cin>>n;
    while(n)
    {
        r=n%10;
        m=m*10+r;
        n/=10;
    }
    cout<<m;
}

作者: admin    时间: 2018-8-10 21:10
楼上吴同学很好做了不少的题目,但是1、 请加上 m=0   2、请用code模式发帖。

作者: 黄煦喆    时间: 2018-8-25 16:48
  1. #include <iostream>
  2. using namespace std;
  3. long long n;
  4. int main()
  5. {
  6.     cin>>n;
  7.     if(n==0) cout<<0;
  8.     else
  9.     {
  10.         if(n<0)cout<<'-',n=-n;
  11.         while(!(n%10)) n/=10;
  12.         while(n){cout<<n%10;n/=10;}
  13.     }
  14.     return 0;
  15. }
复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2