首页 > 试题广场 >

数字颠倒

[编程题]数字颠倒
  • 热度指数:456853 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一个整数,将这个整数以字符串的形式逆序输出

程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001


数据范围:

输入描述:

输入一个int整数



输出描述:

将这个整数以字符串的形式逆序输出

示例1

输入

1516000

输出

0006151
示例2

输入

0

输出

0
#include <stdio.h>
int main(){
    int a;
    scanf("%d",&a);
    do{
        printf("%d",a%10);
        a /= 10;
    }while(a!=0);
    return 0;
}
发表于 2024-10-09 14:24:45 回复(0)
#include <stdio.h>
int main() {
    unsigned int a;
    scanf("%d",&a);
    int b;
    if(a == 0)
    {
        printf("0");
    }
    for(int i = 0;i < a*10;i++)
    {
            b = a % 10;
            a = a / 10;
            if(b == 0)
            {
                printf("0");
            }
            else {
            {
                printf("%d",b);
            }
            }
        }
}
发表于 2024-09-26 14:54:25 回复(0)
#include <stdio.h>

int main(int argc, char const *argv[])
{
	int num;
	scanf("%d", &num);
	do {
		int tmp = num % 10;
		printf("%d", tmp);
		num /= 10;
	} while (num);
	return 0;
}


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

int main() {
    char arr[30] = {0};
    int i = 0;
    int count = 0;
    char a;
    while (scanf("%c", &a) != EOF) {
        arr[count++] = a;
    }
    for (int i = count - 2; i >= 0; i--) {
        printf("%c", arr[i]);
    }
    printf("\n\n");

    return 0;
}

发表于 2024-07-12 00:38:33 回复(0)
#include<stdio.h>
int main()
{
    int i;
    int n;
    scanf("%d",&n);
    do{
        int d=n%10;
        printf("%d",d);
        n/=10;
    }while(n>0);
    return 0;
}
发表于 2024-07-11 23:07:18 回复(0)
#include <stdio.h>

int main() {
    int a;
    scanf("%d",&a);
    if (a==0) {
        printf("%c",(char)a+'0');
    }
    while (a!=0) {
        printf("%c",(char)(a%10)+'0');
        a = a/10;
    }
    return 0;
}    


   
够简单了吧
发表于 2024-06-15 22:13:59 回复(0)
#include <stdio.h>
#include <string.h>
int main()
{
int a;
char str[30]={0};
scanf("%d",&a);
sprintf(str,"%d",a);
int len =strlen(str);
for(int i =len-1;i>=0;i--)
{
printf("%c",str[i]);
}
return 0;
}
编辑于 2024-03-02 23:44:44 回复(0)
这样写的话,系统会检测我是不是用字符输出吗?
#include <stdio.h>

int main() {
    int a;
    scanf("%d", &a);
    do {
        printf("%d", a%10);
        a/=10;
    }
    while(a!=0);
}
编辑于 2024-02-27 21:12:12 回复(0)
#include<stdio.h>
int Div(int n)
{
    int sum=0;
    for(int i=1;i<n;i++)
    {
        if(n%i==0)
        sum+=i;
    }
    if(sum==n)
    {
        return 1;
    }
    return 0;
}
int main()
{
    int n=0;
    int count=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        if(Div(i)!=0)
        count++;
    }
    printf("%d",count);
    return 0;
}
编辑于 2024-02-24 15:39:14 回复(1)
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int arr[100] = { 0 };
    int a = 0;
    for (int i = 0; i < 100; i++)
    {
        scanf("%c", &arr[i]);
        if (arr[i] == '\n')
        {
            a = i;
            break;
        }
    }
    for (int i = a - 1; i >= 0; i--)
    {
        printf("%c", arr[i]);
    }
    return 0;
}
编辑于 2024-01-11 11:39:53 回复(0)
#include <stdio.h>
#include <string.h>
//在字符型与长整型之间的转换花了很长时间,但是仔细看了一下题目要求输入的是整数不是整型,设置一个11位的字符型数组逆序遍历输出就行
int main()
{
    char str[11]={0};
    gets(str);
    int len=strlen(str);
    for(int i=len-1;i>=0;i--)
    {
        printf("%c",str[i]);
    }
    return 0;
}
编辑于 2024-01-06 10:51:00 回复(0)
#include <stdio.h>
#include <string.h>

int main() {
    char InputString[30] = {0};
    scanf("%s",InputString);
    for(int i = strlen(InputString) - 1;i >=0;i-- )
    {
         printf("%c",InputString[i]);
    }   
    return 0;
}

编辑于 2024-01-05 17:42:03 回复(0)
#include <stdio.h>

int main() {
    int a, b;
    scanf("%d",&a);
    if(a>0) //排除有0存在的情况
    while(a>0)
    {
        b=a%10; //求余数
        printf("%d",b);//将余数输出
        a=a/10;//舍弃处理掉的余数位
    }
    else printf("%d",a);//若有0,则直接输出即可
      return 0;
}

发表于 2023-12-28 19:25:02 回复(0)
#include <stdio.h>
int main()
{
    int x;
    int sum=0;
    scanf("%d",&x);
    if(x==0)
    {
        printf("0");
    }
    else{
    while(x!=0) 
    { 
        sum=x%10; 
        printf("%d",sum);
        x /= 10;
    }
    } 
    return 0; 
}

发表于 2023-12-12 17:12:37 回复(0)
用结构体手撸了一个栈,结束前不free的话内存占用会少50k……如果是实际开发不free的话编译器会自行回收吗
#include <stdio.h>
#include <stdlib.h>
typedef struct stack{char a;struct stack* last;}stk;
stk* push(stk *b,char a){stk* new = malloc(sizeof(stk));new->a=a;new->last=b;return new;}
int main() {
    char a=getchar();
    stk* b;while(a<'0'||a>'9')a=getchar();b=malloc(sizeof(stk));b->a=a;b->last=0;
    while(a>='0'&&a<='9'){b=push(b,a);a=getchar();}
    while(b->last){putchar(b->a);b=b->last;}
    return 0;
}

编辑于 2023-12-07 10:17:46 回复(0)
为什么我第十个用例多了一个
有没有大佬帮我看看
用例输入为77913645
实际输出为54631977`
#include <stdio.h>
#include <string.h>

int main()
{
    int num = 0;
    scanf("%d", &num);
    char temp[100];
    int index = 0;
    if (num == 0)
    {
        printf("0");
    }
    else
    {
        while (num != 0)
        {
            temp[index] = (num % 10) + 48;
            index++;
            num = num / 10;
        }
        temp[index + 1] = '\0';
        printf("%s", temp);
    }

    return 0;
}

发表于 2023-12-05 11:30:39 回复(0)
#include <stdio.h>
int main() {
    char s[10] = {'\0'};
    gets(s);
    int i = 9;
    while (s[i] == '\0') i--;
    while (i>=0) putchar(s[i--]);
    return 0;
}

编辑于 2023-12-01 23:03:11 回复(0)
思路:
    比较容易就想到了对每个位取整和去余
发表于 2023-11-25 16:43:29 回复(0)
#include <stdio.h>


int main()
{
        long  num ;

        long  m ;


        scanf("%d",&num);

        if(num<0)
        {
            printf("Error!\n");
        
        }

        if (num == 0)
            {
        
                printf("%d",num);
            
            }

        while(num != 0)
        {
         
        
            {
                m = num%10;

                printf("%d",m);

                num = num/10;

            
            }
        }



        printf("\n");

        return 0;
}
发表于 2023-11-14 23:04:36 回复(0)
#include <stdio.h>
#include <string.h>

int main() {
    int a;
    scanf("%d",&a);
    char str[20]={0};
    sprintf(str,"%d",a);
    for(int i=strlen(str)-1;i>=0;i--)
    {
        printf("%c",str[i]);
    }
    return 0;
}
发表于 2023-08-29 23:01:11 回复(0)