首页 > 试题广场 >

反向输出一个四位数

[编程题]反向输出一个四位数
  • 热度指数:61622 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个四位整数 n1000 \leqq n \leqq 9999),将其各位数字反向输出。若反向后高位为零,也需保留该零。

输入描述:
\hspace{15pt}在一行中输入一个四位整数 n1000 \leqq n \leqq 9999)。


输出描述:
\hspace{15pt}输出一个四位整数,为 n 反向后的结果;若高位为零,也需保留。
示例1

输入

1234

输出

4321

说明

在这个样例中,输入的四位数是 1234,反向输出后得到 4321
示例2

输入

1000

输出

0001

说明

在这个样例中,输入的四位数是 1000,反向输出后得到 0001,注意保留了前导零。
#include <stdio.h>

int main() {
    int a;
    scanf("%d",&a);
    int b = a/1000;
    int c = a%1000/100;
    int d = a%100/10;
    int e = a%10;
    int f = e*1000+d*100+c*10+b;
    printf("%04d\n",f);
    return 0;
}
发表于 2025-06-29 00:42:25 回复(0)
// 简洁版代码(大神勿喷)
#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    int sum = 0;
    while (n > 10)
    {
        sum = n % 10;
        printf("%d", sum);
        n /= 10;
    }
    if (n <= 10)
    {
        sum = n % 10;
        printf("%d", sum);
       
        if (n == 10)
        {
            n /= 10;
            printf("%d", n);
        }        
    }
    return 0;
}

// 解释版代码
#include <stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    int sum = 0; // 用来储存每次循环 余数
    while (n > 10)
    {
        sum = n % 10; // 每次余个位数,用sum储存,这样 n 不至于直接变成个位数
        printf("%d", sum);
        n /= 10; // 然后每次 ÷ 10,这样就可以挨个从千位削减到个位
    }
    if (n <= 10) // 当上面 n 削减到剩下 2 位数或者 2 位数以下的时候,就到下面来判断
    {
        sum = n % 10; // 因为如果在上面判断怕逻辑写不清楚,我就写到下面来了
        printf("%d", sum);
       
        if (n == 10) // 如果 n == 10,上面通过余数以后就直接变成 0 了,n 不能直接再 n / 10 再输出
        {            // 如果直接在上面写 n / 10 继续输出, 那么如果 1234 余到最后,就会多输出个 0
            n /= 10; // 所以需要再这里单独写个 n == 10 的判定
            printf("%d", n);
        }        
    }
    return 0;
}
发表于 2025-06-18 20:28:51 回复(0)
#include <stdio.h>

int main() {
    int a;
    scanf("%d", &a);
    int a1,a2,a3,a4 =0;
    a1=a%10;
    a=a/10;
    a2 = a%10;
    a=a/10;
    a3 = a%10;
    a=a/10;
    a4 = a%10;
    printf("%d%d%d%d\n", a1,a2,a3,a4);
    return 0;
}
发表于 2025-06-18 16:51:56 回复(0)
#include <stdio.h>

int main() {
   int n = 0;
   scanf("%d",&n);
   int res = 0;
   while(n)
   {
    res = res * 10 + n % 10;
    n = n / 10;
   }
   printf("%04d",res);
}
发表于 2025-05-31 22:10:31 回复(0)
#include <stdio.h>
void asdf(int x)
{
    if (x != 0)
    {
        printf("%d",x%10);
        asdf(x/10);
    }
}
int main()
{
    int a = 0;
    scanf("%d",&a);
    asdf(a);
    return 0;
}
发表于 2025-01-23 08:54:44 回复(0)
#include<stdio.h>

int main()
{
    int arr[3]={};
    
    scanf("%1d%1d%1d%1d",&arr[0],&arr[1],&arr[2],&arr[3]);

    printf("%d%d%d%d",arr[3],arr[2],arr[1],arr[0]);
  


}

发表于 2024-12-13 15:42:06 回复(0)
#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    while (n)
    {
        printf("%d ", n % 10);
        n /= 10;



    }



    return 0;
}
发表于 2024-12-08 22:28:52 回复(0)
#include<stdio.h>
int main()
{
    int a;
    scanf("%d",&a);
    while(a)
    {
        printf("%d",a%10);
        a=a\10;
    }
    return 0;
}

发表于 2024-12-08 11:38:08 回复(0)
#include<stdio.h>

int main()
{
    int n,a;
    scanf("%d",&n);
    a=n%10;
    for(int i=0;i<4;i++){
        printf("%d",a);
        n/=10;
        a=n%10;
    }
    return 0;
}
发表于 2024-09-11 19:06:31 回复(0)
#include<stdio.h>

void daodayin(int x)
{

if(x>9)
{
printf("%d",(x%10));
daodayin(x/10);
}
else
printf("%d",x);

}

int main()
{
int a=0;
scanf("%d",&a);

daodayin(a);

    return 0;
}
发表于 2024-08-11 00:51:39 回复(0)
int main()
{
    int n;
    scanf("%d", &n);
    int arr[4] = { n / 1000, n / 100 % 10, n / 10 % 10, n % 10};

    int i, j;
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3 - i; j++)
        {
            int x = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = x;
        }
    }
    for (i = 0; i < 4; i++)
    {
        printf("%d", arr[i]);
    }
    return 0;
}

发表于 2024-07-30 09:52:42 回复(0)
#include <stdio.h>

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

发表于 2024-05-15 02:42:17 回复(0)
#include <stdio.h>

int main() 
{
    int a;

    scanf("%d", &a);

    while(a)
    {
        printf("%d", a % 10);
        a /= 10;
    }

    return 0;
}

编辑于 2024-03-18 14:35:26 回复(0)
#include <stdio.h>

int main(){
    int a,b,c,d;
    scanf("%1d%1d%1d%1d",&a,&b,&c,&d);
    printf("%d%d%d%d",d,c,b,a);
}
发表于 2024-03-12 17:14:47 回复(0)
#include <stdio.h>

int main() {
    int a = 0;
    scanf("%d",&a);
    while(a>0){
        printf("%d",a%10);
        a /= 10;
    }
    return 0;
}
编辑于 2024-02-15 13:52:07 回复(0)
#include <stdio.h>

int main() {
    char a[5];
    for(int i=1; i<=4; i++){
        scanf("%c", &a[i]);
    }
    for(int i=4; i>=1; i--){
        printf("%d", a[i]-48);
    }
    return 0;
}
编辑于 2024-01-22 18:17:11 回复(0)
#include <stdio.h>
 int main()
 {
    int a =0;
    scanf("%d",&a);
    printf("%d\n",a%10*1000+a%1000%100/10*100+a%1000/100*10+a/1000);    
     return 0;
 }
 
发表于 2023-11-21 23:13:38 回复(0)
#include <stdio.h>

int main()
{
    int n = 0;
    while(scanf("%4d",&n)!=EOF)
    {
        int a,b,c,d;
        a = n%10;
        b = n/10%10;
        c = n/100%10;
        d = n/1000%10;
        printf("%d%d%d%d",a,b,c,d);
    }
    return 0;
}

发表于 2023-11-08 21:49:19 回复(0)