PAT 1086就不告诉你

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

53.jpg

输入格式:

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

输出格式:

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

输入样例:

5 7

输出样例:

53

>>思路

题目要求倒着输出两个数的乘积,首先把乘积求出来,再将这个数从低位到高位存入数组中,考虑到a和b都是小于1000的数,其乘积也不会超过1000000,故数组ans长度选择为7,然后从低位到高位倒着输出即可。第一遍提交的时候有两个测试点没有通过,第一反应是0的问题:比如5*2,最后会输出01,而不是1,故将上面的代码注释掉,直接将倒序的数算出来即可。

 1 #include<bits/stdc++.h> 
 2 using namespace std;
 3 int main(){
 4     int a,b,c,ans[7];
 5     scanf("%d%d",&a,&b);
 6     c=a*b;
 7     int n=0;
 8     while(c!=0){
 9         ans[n++]=c%10;
10         c=c/10;
11     }
12     int k=0;
13     /*for(int i=0;i<n;i++){
14         printf("%d",ans[i]);
15     }*/
16     for(int i=0;i<n;i++){
17         k+=ans[i]*pow(10,n-i-1);
18     }
19     printf("%d",k);
20 }
 

猜你喜欢

转载自www.cnblogs.com/taiga/p/12498095.html
今日推荐