回 帖 发 新 帖 刷新版面

主题:[讨论]输入一个百分数520反输出为什么是25呢?

#include <stdio.h> 

int main (void)
{

    int ma = 0;
    int m = 0;
    scanf ("%d",&ma);

    
     m=(ma%10)*100+(ma/10%10)*10+(ma/100);//点解释这句话呢??????

     printf ("%2d\n",m);

     return 0;
}

回复列表 (共1个回复)

沙发

m=(ma%10)*100+(ma/10%10)*10+(ma/100);这个语句可以这么理解;
a=(ma%10);
b=(ma/10%10);
c=(ma/100);
以521为例子,那么a为1,b为2,C为5。a乘以100是将这么数字变成百位上得“几”百,b乘以10,是变为“几十”,那么就是一百二十五,正好反过来了。
至于输出可以这么改一下:
#include <stdio.h>

int main (void)
{

    int ma = 0;
    int m = 0;
    scanf ("%d",&ma);


     m=(ma%10)*100+(ma/10%10)*10+(ma/100);//点解释这句话呢??????

     printf ("%03d\n",m);

     return 0;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册