首页 > 试题广场 >

数字颠倒

[编程题]数字颠倒
  • 热度指数:458641 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}对于给定的非负整数 n ,将其以字符串的形式颠倒后输出。这意味着,如果 n 的末尾含 0 ,那么返回的字符串开头也需要含 0

输入描述:
\hspace{15pt}在一行上输入一个非负整数 n \left(0 \leqq n < 2^{30}\right) 代表给定的整数。


输出描述:
\hspace{15pt}在一行上输出一个字符串,代表颠倒后的数字。
示例1

输入

1516000

输出

0006151
示例2

输入

0

输出

0
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
    string nums;
    cin >> nums;
    for (auto it = nums.rbegin(); it != nums.rend(); it++) {
        cout << *it;
    }
}
发表于 2022-08-21 16:34:33 回复(0)
n=input()
for i in range(len(n)-1,-1,-1):
    print(n[i],end='')

发表于 2022-08-07 10:20:47 回复(0)
console.log(readline().split('').reverse().join(''))
打扰了
发表于 2022-07-01 16:20:46 回复(0)
StringBuilder自带逆置函数
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        StringBuilder s =new StringBuilder(sc.nextLine());
        System.out.println(s.reverse());
    }
}



发表于 2022-05-18 20:11:53 回复(0)
#include <stdio.h>

void print()
{
    char c;
    if((c=getchar())!='\n' && c!=EOF) print();
    else return ;
    printf("%c", c);
}

int main()
{
    print();
    return 0;
}

发表于 2022-03-07 11:26:45 回复(0)
#include<stdio.h>
#include<string>
#include<map>
#include<iostream>
#include<math.h>
using namespace std;
int main(){
    int n=0;
    int temp =0;
    int leftnum=0;
    cin>>n;
    temp = n;
    if(n==0) cout<<0;
    while(temp>0){
        leftnum = temp%10;
        temp = temp/10;
        cout<<leftnum;
    }
    cout<<endl;
}

发表于 2022-02-23 20:20:59 回复(0)

java一行搞定

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
      System.out.println(new StringBuffer(in.nextLine()).reverse().toString());
    }
}
发表于 2022-01-04 16:32:54 回复(0)
import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner number = new Scanner(System.in);
        int n = number.nextInt();
        int c=0;
        int g = n;
        if(g==0){
            System.out.print("0");
        }
        else{
            while(g>=1){
            g=g/10;
            c++;
        }
        c=c+1;//整数总位数
        int b[] = new int[c];
        for(int i=0;i<c;i++){
            b[i]=n%10;
            n=n/10;
        }
        for(int y=0;y<c-1;y++){
            System.out.print(b[y]);
        }
        }
        

    }
}
//我的好笨
发表于 2021-11-13 13:39:29 回复(0)
package main

import "fmt"

func reverse(a int)  {
    b := fmt.Sprint(a)
    for _,v := range b{
        defer fmt.Print(string(v))
    }
}
func main(){
    var a int
    fmt.Scan(&a)
    reverse(a)
}


发表于 2021-11-11 14:51:07 回复(0)
package main

import (
	"fmt"
	"bufio"
	"os"
	"strings"
)

func main()  {

	// 读取字符串
	reader := bufio.NewReader(os.Stdin)
	str,_ := reader.ReadString('\n')

	// 删除末尾"\n"符号
	str = strings.Trim(str,"\n")

	// 逆序打印
	for i:=len(str)-1;i>=0;i-- {
		fmt.Printf("%v",string(str[i]))
	}

}

发表于 2021-11-06 10:44:15 回复(0)
import java.util.*;
public class Main {
        public static void main(String[] args ){
            Scanner sc = new Scanner(System.in);
            char[] srt= sc.nextLine().toCharArray();
            for(int i=srt.length-1;i>=0;i--){
                System.out.print(srt[i]);
            }
        }
}
发表于 2021-11-02 20:16:54 回复(0)
我只说一句话。。。
System.out.println(new StringBuffer(new Scanner(System.in).nextLine()).reverse());
发表于 2021-11-02 18:28:08 回复(2)
#include<stdio.h>
#include<string.h>
int main()
{
    int n;
    char ch;
    while(scanf("%d",&n)!=EOF)
    {
        while(n!=0)
        {
            ch = n%10+'0';
            n/=10;
            printf("%c",ch);
        }
        printf("\n");
    }
    return 0;
}

发表于 2021-10-16 22:58:22 回复(0)

不管输入的是什么,都可以直接用字符串的方式读取,因此我们直接把输入的数字转化成字符串。然后倒序输出即可。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.nextLine();
        for(int i =s.length()-1;i>=0;--i)
            System.out.print(s.charAt(i));
    }
}
发表于 2021-09-28 11:05:57 回复(0)
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int num, i=0;
    scanf("%d", &num);
    while(num)
    {
        printf("%d", num % 10);
        num /= 10;
    }
    return 0;
}

发表于 2021-09-01 23:35:10 回复(0)
#include<stdio.h>
#include<stdlib.h>

int main()
{
    int num = 0;
    
    while(scanf("%d",&num) != EOF)
    {
        while(num/10 != 0)
        {
            int tmp = num%10;
            num = num/10;
            char buf = '0' + tmp;
            printf("%c",buf);
        }
        char buf = '0' + num;
        printf("%c\n",buf);
    }
    return 0;
}

发表于 2021-09-01 12:33:34 回复(0)
直接当成string处理
import java.util.*;

public class Main{
    public static void  main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        for(int i=str.length()-1;i>=0;i--){
            System.out.print(str.charAt(i));
        }
    }
}
发表于 2021-08-27 21:29:47 回复(0)
a = input("",'s');
c = char(a);
b = fliplr(c);
fprintf("%s",b)
发表于 2021-08-25 18:32:58 回复(0)
#include<iostream>
using namespace std;
#include <string>
#include <stack>
int main(){
    string number;
    cin>>number;
    stack<char> Stack;
    
    for(int i = 0; i < number.size();i++){
        Stack.push(number[i]);
    }
    while(!Stack.empty()){
        cout<< Stack.top();
        Stack.pop();
    }

}
倒序符合栈的先入后出的特点,还蛮好想的
发表于 2021-08-11 15:48:02 回复(0)
package main

import (
    "fmt"
)

func main() {
    var in string
    fmt.Scan(&in)
    fmt.Println(solve(in))
}

func solve( str string ) string {
    l := len(str)
    m := l / 2
    re := []byte(str)
    for i := 0 ; i < m; i++ {
        re[i] = str[l-i-1]
        re[l-i-1] = str[i]
    }
    return string(re)
}
发表于 2021-07-31 17:29:56 回复(0)