3154 乘法运算
NOIP全国联赛普及组
时间限制: 1 s
空间限制: 32000 KB
题目等级 : 钻石 Diamond
题目描述 Description
编制一个乘法运算的程序。
从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。 输入描述 Input Description
输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99)。
输出描述 Output Description
输出4行或7行,符合乘法的竖式运算格式。
样例输入 Sample Input
89 13
样例输出 Sample Output
89
* 13----26789----1157注意要末位对齐
数据范围及提示 Data Size & Hint
【样例解释】
3×89=267,则第四行267右侧对准个位输出。1×89=89,则第五行89右侧对准十位输出。267+890=1157,则1157右侧对准个位输出。
分类标签 Tags
题解:
注意处理细节,一遍过
AC代码:
#include#include #include #include 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\n",qa); printf("*%3d\n",qb); printf("----\n"); if(qa<10||qb<10){ printf("%4d\n",qa*qb);return 0; } printf("%4d\n",mo*qa); printf("%3d\n",qb/10*qa); printf("----\n"); printf("%4d\n",qa*qb); return 0;}