题解 | #特殊乘法#
特殊乘法
https://www.nowcoder.com/practice/a5edebf0622045468436c74c3a34240f
#include <stdio.h> int main() { int a,b,sum=0; scanf("%d %d",&a,&b); for(int i=a;i>0;i=i/10){ for(int j=b;j>0;j=j/10){ sum+=(i%10)*(j%10); } } printf("%d",sum); return 0; }
学习到的思路:
1、scanf("%d %d",&a,&b);多个输入的形式
2、获取整数每一位数的方法:先取余,再取整,直到取整为0
#include <stdio.h> #include <string.h> #define MAXNUM 10 int main(){ char c1[MAXNUM]={0},c2[MAXNUM]={0}; scanf("%s%s",c1,c2); int a,b,sum=0; a=strlen(c1); b=strlen(c2); for(int i=0;i<a;i++){ for(int j=0;j<b;j++){ sum+=(c1[i]-'0')*(c2[j]-'0'); } } printf("%d",sum); return 0; }
可学习的经验:
1、多个字符串的输入scanf("%s%s",c1,c2); 字符串的初始化
2、字符和整数数字之间的计算 sum+=(c1[i]-'0')*(c2[j]-'0');