洛谷 P5705 【深基2.例7】数字反转

今天呢我们照例沿着洛谷题单【入门1】顺序结构往下走,今天该给大家讲解【深基2.例7】数字反转了,我们先来看一下题目👇

题目描述

这道题首先明示了数据是 不小于100且小于1000 的 包括小数点后一位的一个浮点数,那么就是在告诉我们变量类型使用double 或者 float 就是OK的,然后再往下看,他要实现的就是把数字反过来写一遍,这个让我们人去做事很简单的,就是反着写就行,但是计算机是要用运算来解决一切问题的,那么我们就要找到数字反转前和数字反转后的内在联系

看的更加透彻一些,他就是把原来的百位换成了十分位(缩小了1000倍); 把原来的十位换成了个位(缩小了10倍); 把原来的个位换成了十位(扩大了10倍); 把原来的十分位换成了百位(扩大了1000倍)。

那这道题的思路就已经很明显了,话不多说,直接上代码啦~

C代码

#include <stdio.h>
int main()
{
    double num1,num2; 
    int a,b,c,d,num;
    scanf("%lf",&num1);
    num=num1*10;
    a=num%10;
    b=num/10%10;
    c=num/100%10;
    d=num/1000;
    num2=a+0.1*b+0.01*c+0.001*d;
    printf("%.3f",num2);
    return 0;
}

但是大家要注意的是我们在取原来那个数字的各位上数字的时候,大家要熟练掌握先用除法去掉无用的后几位然后对10取余的取位方法,最后大家注意在输出的时候要用%.3f的语句控制数据要以小数点后三位的格式输出

这就是这道题目的题解,希望可以对深陷其中的朋友们起到一些帮助~

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值