输入一个大正整数和一个非负整数,求它们的积。 输入格式: 测试数据有多组,处理到文件尾。每组测试输入 1 个大正整数 A(位数不会超过 1000)和一 个非负整数 B(int 范围)。
输出格式: 对于每组测试,输出 A 与 B 的乘积。
输入样例:
1 1
123 100
12345678910 8
123456789101234567891012345678910 7 123
0
输出样例: 1
12300
98765431280
86419752370864
1975237086419752370
0
说明:原题的 B 是一位数,本题修改为 int 范围内的整数
#include <stdio.h> #include <string.h> int main() { char s1[1011]; char s2[1011]; int jin,x,i,n=0; while((scanf("%s%d",s1,&x))!=EOF) { if(x!=0) { while(s1[n++]!='\0') { jin=0; for(i=strlen(s1)-1;i>=0;i--) { s2[i]=((s1[i]-'0')*x+jin)%10+'0'; jin=((s1[i]-'0')*x+jin)/10; } } if(jin!=0) printf("%d",jin); for(i=0;i<strlen(s1);i++) printf("%c",s2[i]); printf("\n"); } else printf("0"); } return 0 }