首页 > 试题广场 >

数字排序

[编程题]数字排序
  • 热度指数:1035 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。


输入描述:
比如输入数字:1234


输出描述:
返回内容为:1234是一个4位数。
按逆序输出是:4321
示例1

输入

68621

输出

68621是一个5位数。
按逆序输出是:12686
示例2

输入

65762

输出

65762是一个5位数。
按逆序输出是:26756
示例3

输入

4664

输出

4664是一个4位数。
按逆序输出是:4664

备注:
武研JAVA
str = '123456'
list1 = list[str]
print('list1.reverse')

发表于 2021-07-18 14:21:26 回复(0)
这题目简直就是输出格式大检查,毫无算法可言
num = input()
print(f"{num}是一个{len(num)}位数。")
print(f"按逆序输出是:{num[::-1]}")

发表于 2021-09-28 09:47:39 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
       Scanner sc = new Scanner(System.in);
       int c = sc.nextInt();
       int d = c;
       int count = 0;
       int sum = 0;
       while(d != 0){
            sum = sum * 10 + d % 10;
             d = d / 10;
           count++;
       }
       
        System.out.println(c + "是一个" + count + "位数。");
        System.out.println("按逆序输出是:" + sum);
       }

    }
发表于 2023-05-07 21:51:31 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
      Scanner in=new Scanner(System.in);
        String s=in.nextLine();
        int count=s.length();
        String s1="";
        int i=0;
        for(i=s.length()-1;i>=0;i--){
           s1=s1+s.charAt(i);
        }
        System.out.println(s+"是一个"+count+"位数。");
        System.out.println("按逆序输出是:"+s1);
    }
}
发表于 2023-04-09 20:02:11 回复(2)
#include <stdio.h>
intmain(){
voidnixu(intx);
voidnumber(intnum);
    intn;
    printf("please inter number:\n");
    scanf("%d",&n);
    printf("%d是",n);
    number(n);
    nixu(n);
    return0;
}
voidnumber(intnum)
{
    intt=0;
    do{
        num=num/10;
        t++;
    }while(num!=0);
    printf("%d位数",t);
}
voidnixu(intx)
{
    intn,k,b=0;
    while(x>0){
        k=x%10;
        printf("逆序输出为:%d",k);
        x=x/10;
        b=b*10+x;
         
    }
}
发表于 2022-10-11 12:08:00 回复(0)
s=input()
print("%s是一个%d位数。" %(s,len(s)))
m=s[::-1]
print("按逆序输出是:%s"%m)
发表于 2021-09-03 04:14:19 回复(0)
#include<stdio.h>

int len(int n)
{
    if(n==0)
        return 0;
    else
        return len(n/10)+1;
}

int reverse(int n)
{
    int rev=0, remainder;
    while(n!=0){
        remainder = n % 10;
        rev = rev * 10 + remainder;
        n /= 10;
    }
    return rev;
}

int main()
{
    int a=0,length=0, reversedNum;
    scanf("%d", &a);
    length = len(a);
    printf("%d是一个%d位数。\n",a,length);
    reversedNum = reverse(a);
    printf("按逆序输出是:%d",reversedNum);
}

发表于 2021-08-26 20:45:15 回复(0)
gzk头像 gzk
a=int(input())
ifa<=99999:
    b=str(a)
    c=len(b)
    d=int(b[::-1])
    print('{}是一个{}位数。'.format(a,c))
    print('按逆序输出是:{0}'.format(d))
else:
    print('-1')
这样写怎么运行不了啊
编辑于 2021-08-24 10:21:56 回复(0)
class Solution:
    def numPrint(self, num):
        if num > 99999:
            return -1
        num_str = str(num)
        ans1 = len(num_str)  # num是几位数
        ans2 = int(num_str[::-1])
        print("{0}是一个{1}位数。\n按逆序输出是:{2}".format(num, ans1, ans2))
        return ans1, ans2

solution = Solution()
num = int(input())
solution.numPrint(num)
发表于 2021-08-22 18:34:56 回复(0)