题目描述 Description
编制一个乘法运算的程序。
从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。
输入描述 Input Description
输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99)。
输出描述 Output Description
输出4行或7行,符合乘法的竖式运算格式。
样例输入 Sample Input
89 13
样例输出 Sample Output
89
* 13
----
267
89
----
1157
注意要末位对齐
数据范围及提示 Data Size & Hint
【样例解释】
3×89=267,则第四行267右侧对准个位输出。1×89=89,则第五行89右侧对准十位输出。267+890=1157,则1157右侧对准个位输出。
分类标签 Tags 点此展开
题解:
注意处理细节,一遍过
AC代码:
#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> using namespace std; char a1[4],b1[4]; int main(){ scanf("%s%s",a1,b1); int lena=strlen(a1),lenb=strlen(b1); int mo=b1[lenb-1]-'0',qa=atoi(a1),qb=atoi(b1); printf("%4d ",qa); printf("*%3d ",qb); printf("---- "); if(qa<10||qb<10){ printf("%4d ",qa*qb);return 0; } printf("%4d ",mo*qa); printf("%3d ",qb/10*qa); printf("---- "); printf("%4d ",qa*qb); return 0; }