PAT Basic 1086. 就不告诉你

PAT Basic 1086. 就不告诉你

1. 题目描述:

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

53.jpg

2. 输入格式:

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

3. 输出格式:

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

4. 输入样例:

5 7

5. 输出样例:

53

6. 性能要求:

Code Size Limit
16 KB
Time Limit
400 ms
Memory Limit
64 MB

思路:

一开始想着直接从个位开始输出两数乘积的各位数字即可,第一次提交时testpoint1,2报wrong answer,检查代码逻辑感觉没问题。后面修改测试用例为1 1000时意识到可能要输出1而不是0001,额外加了flag标志限制首个输出非零后AC,感觉题意也没说清楚。。。

My Code:

#include <stdio.h>

// first submit testpoint1, 2 wrong answer
int main(void)
{
    int num1=0, num2=0;
    int res = 0;
    int flag = 0; // first output nonzero flag
    
    scanf("%d%d", &num1, &num2);
    res = num1 * num2;
    
    while(res)
    {
        // this flag fixed testpoint1, 2, for 0001 should output as 1
        if(res%10 || flag)
        {
            flag = 1;
            printf("%d", res%10);
        }
        res/=10;
    }
    printf("\n");
    
    return 0;
}
posted @ 2023-04-11 20:14  十豆加日月  阅读(11)  评论(0编辑  收藏  举报