P1086 就不告诉你
转跳点:🐏
1086 就不告诉你 (15分)
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。
输入格式:
输入在第一行给出两个不超过 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不易,诸君共勉!
大道五十,天衍四九,人遁其一!