2324 - 乘法运算

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 125 MB

从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。


例如,输入:<span>89 13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>又如,输入:<span>16 8</span> 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;输出:<span>&nbsp; &nbsp; &nbsp; &nbsp;89 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span>输出:<span>&nbsp; &nbsp; &nbsp;16</span> 

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<u>&nbsp;</u><u>×<span> 13 </span></u>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<u>×<span>&nbsp;&nbsp; 8 </span></u> 

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; 267 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp;128

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<u>&nbsp;&nbsp;&nbsp;89&nbsp;</u> 

&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp;1157

<br />

题目输入

每个测试文件只包含一组测试数据,每组输入数据为两个100以内的正整数,之间由一个空格分隔。


题目输出

对于每组输入数据,输出两个整数进行乘法运算的竖式。为了简单起见,只需从上到下输出竖式里面的数即可,具体格式见样例输出。


输入/输出样例

输入格式

89 13

输出格式

89
13
267
89
1157

C语言解答

#include<stdio.h>
int main()
{
	int a,b,s,count,i,j,k;
	scanf("%d%d",&a,&b);
		printf("%d\n%d\n",a,b);
		count=0;s=1;i=1;j=0;
		while(b>0)
		{
			s=b%10;
			if(s==0)
			{
				k=a;
				while(k>0)
				{
					printf("0");
					k=k/10;
				}
				printf("\n");
				b=b/10;i=i*10;j++;
			}
			else
			{
				printf("%d\n",s*a);
			    count+=s*a*i;
			    b=b/10;i=i*10;
			    j++;
			}
		}
		if(j!=1)
		    printf("%d\n",count);
		printf("\n");
	return 0;
}

C++解答

#include<stdio.h>
int main()
{
	int a,b,s,k,res;
	int len = 0; 
	scanf("%d%d",&a,&b);
	char buf[10];
	k = a;
	while(k>0)
		len++,k/=10;
	sprintf(buf,"%%0%dd\n",len);
	k = b;
	printf("%d\n%d\n",a,b);
	while(k>0)
	{
		s=k%10;
		printf(buf,s*a);
		k/=10;
	}
	if(b>=10)
		printf("%d\n",a*b);
	
	//printf("%d",5);
	return 0;
}

Java解答

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt(),b=sc.nextInt();
		int temp1,temp2;
		if((a+"").length()==2&&(b+"").length()==2){
			System.out.println(a);
			System.out.println(b);
			temp1=Integer.parseInt((b+"").substring(1, 2))*a;
			temp2=Integer.parseInt((b+"").substring(0, 1))*a;
			if(temp1==0){
				System.out.println("00");
			}else{
				System.out.println(temp1);
			}
			System.out.println(temp2);
			System.out.println(temp1+temp2*10);
		}else if((a+"").length()==1&&(b+"").length()==2){
			System.out.println(a);
			System.out.println(b);
			temp1=Integer.parseInt((b+"").substring(1, 2))*a;
			temp2=Integer.parseInt((b+"").substring(0, 1))*a;
			if(temp1==0){
				System.out.println("00");
			}else{
				System.out.println(temp1);
			}
			System.out.println(temp2);
			System.out.println(temp1+temp2*10);
		}else{
			System.out.println(a);
			System.out.println(b);
			System.out.println(a*b);
		}
	}
}