Task--08 逆序输出

本文介绍了一个简单的C语言程序,该程序能够接收一个整数输入,然后输出该整数的位数,并以逆序的方式分别输出每个数字。通过使用数学运算和循环结构,程序实现了数字的逆序处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述

输入一串数字,把它反过来输出。

输入

一串数字

输出

数字串的位数

将原数字串每一位分开输出

将原数字串逆序输出

代码

#include <stdio.h>
#include <math.h>

int main()

{

    int n, sum = 0, temp, count, other;
    int size = 1;

    scanf_s("%d", &n);

    count = n;//不止一次要对n进行处理,所以再引入一个变量让其等于初始n再对此进行操作,不影响后续对n的使用
    while (count / 10 >= 1)
    {
        size++;            //看能除以几个10就是几位数
        count = count / 10;//每次记一位数后就除以10否则会一直陷入死循环
    }
    printf("%d\n", size);

    while (n)

    {

        temp = n % 10; //从右往左依次取出了n的个位

        n = n / 10;    //每取一次就丢掉取的那个数字

        sum = sum * 10 + temp;//每次从左往右取出的数字都重新从右往左排列(逆序输出)

    }


    other = sum;//还要输出sum,所以再引入一个变量让其等于sum再对此进行操作,不影响后续对sum的输出
    while (other > 0)
    {
        printf("%d", other % 10);//对倒序的数字从右往左取后输出(就又正序了hhh)
        if (other / 10 >= 1)//只要不输出到个位,每次输出后都再输出一个空格
            printf(" ");
        other /= 10;//每次记一位数后就除以10否则会一直陷入死循环
    }

    printf("\n%d", sum);

    return 0;
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值