//求余求模不断重复 #include<stdio.h> int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF)//输入2个整数 { int buf1[20],buf2[20],s1=0,s2=0;//buf1,buf2分别保存从2个整数中拆解出来的数位数字, //其数量由s1,s2表示 while(a!=0)//只要a>0就不断重复拆解过程 { buf1[s1++]=a%10;//取得个位数上的数字,将其保存 a=a/10;//将所有数字移动到高一位上 } while(b!=0) { buf2[s2++]=b%10; b=b/10; } int ans=0;//计算答案 for(int i=0;i<s1;i++) { for(int j=0;j<s2;j++) { ans+=buf1[i]*buf2[j]; } } printf("%d\n",ans); } return 0; }
//另外一种实现方法,将输入数据看做字符串 #include<stdio.h> int main() { char a[11],b[11]; while(scanf("%s%s",a,b)!=EOF) { int ans=0; for(int i=0;a[i]!=0;i++)//遍历a中每一个字符,直到a字符串结尾 { for(int j=0;b[j]!=0;j++)//遍历b中每一个字符,直到b字符串结尾 { ans+=(a[i]-'0')*(b[j]-'0'); } } printf("%d\n",ans);} return 0; }