P1086 就不告诉你

转跳点:🐏

1086 就不告诉你 (15分)
 

做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。

53.jpg

输入格式:

输入在第一行给出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。

输出格式:

在一行中倒着输出 A 和 B 的乘积。

输入样例:

5 7
 

输出样例:

53

 这道题要特别注意到地方在于,前导0,110 *100的情况,当然不要忘记101 10的情况,不要去前导0去的把什么都给去掉了

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE (1000 * 1000)

int main(void)
{
    int a, b, mult;
    char buf[MAXSIZE] = {0};
    scanf("%d %d", &a, &b);

    mult = a * b;
    sprintf(buf, "%d", mult);

    int len = strlen(buf);
    int flag = 0;
    if (1 != len && '0' == buf[len - 1])
    {
        flag = 1;
    }
    for (int i = len - 1; i >= 0; i--)
    {
        if (1 == flag)
        {
            if ('0' == buf[i])
            {
                continue;
            }
            else
            {
                flag = 0;
            }
        }
        printf("%c", buf[i]);
    }

    return 0;
}

第二种:

#include <stdio.h>

int main()
{
    int A, B, C;
    scanf("%d %d", &A, &B);
    C = A * B;

    while (!(C % 10))
    {
        C /= 10;
    }

    while (C)
    {
        putchar('0' + C % 10);
        C /= 10;
    }

    return 0;
}

 

PAT不易,诸君共勉!

posted @ 2020-02-11 13:53  秦_殇  阅读(421)  评论(0编辑  收藏  举报