PAT Basic 1086. 就不告诉你
1. 题目描述:
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。
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;
}
标签:输出,PAT,1086,int,res,flag,Basic,10
From: https://www.cnblogs.com/tacticKing/p/17307535.html