精华内容
下载资源
问答
  • P1307 数字反转

    2020-02-14 15:27:20
    P1307 数字反转 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 输入格式 一个整数 ...

    P1307 数字反转

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

    输入格式
    一个整数 N

    输出格式
    一个整数,表示反转后的新数。

    输入输出样例
    输入
    123
    输出
    321
    输入
    -380
    输出
    -83
    说明/提示
    数据范围

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

    #include<stdio.h>
    #include<math.h>
    #include<string.h>
    char n[1000000001]={'\0'};
    int main(){
    	long long int i,j,k,len;
    	i=j=k=0;
    	scanf("%s",&n);
    	if(n[0]=='0'){
    		printf("0\n");goto loop;
    	}
    	if(n[0]=='-'){
    		len=strlen(n);
    		for(i=len-1;i>=1;i--){
    			if(n[i]=='0'){
    				len--;
    			}
    			else{
    				break;
    			}
    		}
    		printf("-");
    		for(i=len-1;i>=1;i--){
    			printf("%c",n[i]);
    		}
    		printf("\n");
    	}
    	else{
    		len=strlen(n);
    		for(i=len-1;i>=0;i--){
    			if(n[i]=='0'){
    				len--;
    			}
    			else{
    				break;
    			}
    		}
    		for(i=len-1;i>=0;i--){
    			printf("%c",n[i]);
    		}
    		printf("\n");
    	}
    	loop:
    	return 0;
    }
    
    展开全文
  • p1307数字反转

    2018-12-01 18:21:21
    代码: #include&amp;lt;bits/stdc++.h&amp;gt; using namespace std; int main() { string a; cin&amp;gt;&amp;gt;a; int l=a.size(); l--; if(a[0]=='-') cout&amp;...

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
    	string a;
    	cin>>a;
    	int l=a.size();
    	l--;
    	if(a[0]=='-')
    	cout<<'-';
    	for(;a[l]=='0';) 
    	l--;
    	for(int i=l;i>0;i--)
    	cout<<a[i];
    	if(a[0]!='-')
    	cout<<a[0];
    }
    

    我觉得这题用的方法相当巧妙 注意最后判断a【0】是否为“-”;

    展开全文
  • P1307数字反转

    2017-05-10 21:27:06
    2)是不是要写个确定反转后首位为0的判断条件 别人的做法: #include #include using namespace std; int main() { int n,sum=0; cin>>n; while(n!=0) { sum=sum*10+n%10; n/=10; } ...
    输入样例#1:
    123
    输出样例#1:
    321
    输入样例#2:
    -380
    输出样例#2:
    -83











    思维障碍:

    1)每位都要依次去除与取余

    2)是不是要写个确定反转后首位为0的判断条件



    别人的做法:

    #include<cstdio>
    #include<iostream>
    using namespace std;
    int main()
    {
    	int n,sum=0;
    	cin>>n;
    	while(n!=0)
    	{
    	  sum=sum*10+n%10;
    	  n/=10;
    	}
    	cout<<sum;
    	return 0;
    }
    我觉得很奇妙之处在于sum=sum*10+n%10;真的值得学习






    展开全文
  • 洛谷 P1307 数字反转

    2019-06-30 14:01:47
    洛谷 P1307 数字反转 题目 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 题目链接P1307 ...

    洛谷 P1307 数字反转

    题目

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

    输入

    一个整数N。(-1,000,000,000<=N<=1,000,000,000)

    输出

    一个整数,表示反转后的新数。

    样例

    输入
    123
    输出
    321

    输入
    -380
    输出
    -83

    题解

    简单地模拟即可,注意提前处理负号将负号输出,并去掉数字末尾的零。

    代码

    #include <iostream>
    #include <stdlib.h>
    #include <string>
    #include <math.h>
    #include <algorithm>
    #include <cstring>
    #include <cstdio>
    #include <stack>
    #include <queue>
    #include <deque>
    #include <vector>
    
    using namespace std;
    
    int main()
    {
        char c[20];
        int i,flag,temp;
        scanf("%s",c);
        flag = strlen(c);
        flag--;
        if (c[0] == '0')
        {
            printf("%c", c[0]);
            return 0;
        }
        temp = 0;
        if (c[0] == '-')
        {
            printf("%c",'-');
            for (i=flag;i>=1;i--)
                if (c[i] == '0')
                temp++;
                else break;
            for (i=flag-temp;i>=1;i--)
                printf("%c",c[i]);
            return 0;
        }
        temp = 0;
        for (i=flag;i>=0;i--)
            if (c[i] == '0')
            temp++;
            else break;
        for (i=flag-temp;i>=0;i--)
            printf("%c",c[i]);
        return 0;
    }
    

    P.S. 请忽略那么多的include,仅仅是因为懒得选,所以无论做什么题目都是这一个模版直接全加上

    展开全文
  • 洛谷P1307 数字反转

    2020-04-11 22:55:05
    洛谷P1307 数字反转 一只鶸的刷题记录 题目描述   给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零...
  • 洛谷 P1307 数字反转 C语言实现

    千次阅读 2019-04-07 18:26:19
    原题地址:P1307 数字反转 - 洛谷 最初看到这个题目是想的以字符数组输入,然后判断第一个字符是不是‘-’,如果是则优先输出一个符号。 再然后从字符串最后一位开始判断,先判断是否为‘0’,如果是0就continue。...
  • P1307 数字反转 1.思路 看到题目中输入和输出的情况,由于可能存在 - 则可以以字符串的形式将整数输入 1.先判定是否存在 - 2.再从后往前把数输出,但也要注意不能输出前导0,也不能输出把所有0都不输出 for(i=len-...
  • 题的链接:P1307 数字反转 题解: 简单题,有个细节,0的处理,其实不用处理,末尾的0不会累加到res, 中间出现的0会累加; 注意: 如:我注释的那一行,加上后会把任何地方出现的0都给排除掉。。。而其实只需要搞...
  • Java洛谷P1307 数字反转

    2020-02-06 15:54:24
    题目链接:https://www.luogu.com.cn/problem/P1307 代码实例: import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a =...
  • 6行Python3解决洛谷P1307 数字反转 #输入列表才可以使用反转命令,使用list命令转换成列表 a = list(input()) #列表反转 a.reverse() #执行int代码可以省略反转后的0,如083—>83 try:#如果没有“-”,int就不会...
  • 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 输入输出格式 输入格式: 一个整数 NN ...
  • P1307 [NOIP2011 普及组] 数字反转
  • 洛谷1307 数字反转本题地址: http://www.luogu.org/problem/show?pid=1307题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新...
  • P1307 数字反转---Java

    2020-04-08 18:34:49
    给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 输入格式 一个整数 NNN 输出格式 一个整数...
  • 给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。 输入输出格式 输入格式:   一个整数 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,452
精华内容 16,580
关键字:

p1307数字反转