
特殊乘法举例:123*45=1*4+1*5+2*4+2*5+3*4+3*5=54 输入两个小于1000000000的整数,输出其特殊乘法的结果
5个回答
展开全部
#include<stdio.h>
int main()
{
int a,b,a1,b1,b0;
int s=0;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
b0=b;
while(a)
{
a1=a%10;
a/=10;
b=b0;
while(b)
{
b1=b%10;
b/=10;
s=s+a1*b1;
}
}
printf("%d\n",s);
return 0;
}
int main()
{
int a,b,a1,b1,b0;
int s=0;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
b0=b;
while(a)
{
a1=a%10;
a/=10;
b=b0;
while(b)
{
b1=b%10;
b/=10;
s=s+a1*b1;
}
}
printf("%d\n",s);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#define MAX 11
int main()
{
int i, j, sum;
char strNum1[MAX], strNum2[MAX];
scanf("%s%s", strNum1, strNum2);
sum = 0;
for (i=0; strNum1[i]!='\0'; i++)
{
for (j=0;strNum2[j]!='\0'; j++)
{
sum += (strNum1[i] - '0') * (strNum2[j] - '0');
}
}
printf("SUM: %d\n", sum);
return 0;
}
#define MAX 11
int main()
{
int i, j, sum;
char strNum1[MAX], strNum2[MAX];
scanf("%s%s", strNum1, strNum2);
sum = 0;
for (i=0; strNum1[i]!='\0'; i++)
{
for (j=0;strNum2[j]!='\0'; j++)
{
sum += (strNum1[i] - '0') * (strNum2[j] - '0');
}
}
printf("SUM: %d\n", sum);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int main()
{
char num1[50],num2[50];
cout << "请输入两个整数:";
cin >> num1 >> num2;
//cout << num1 << " " << num2 << endl;
char *p1 = num1,*p2 = num2;
int sum = 0;
for (int i = 0; i < 50; i++)
{
int m = p1[i]-'0';
for (int j = 0; j < 50; j++)
{
int k = p2[j]-'0';
if (m>0&&k>0)
{
sum = m*k+sum;
}
}
}
cout << sum << endl;
return 0;
}
因为我的编译器不允许定义long long 类型的所以我用字符数组了。
using namespace std;
int main()
{
char num1[50],num2[50];
cout << "请输入两个整数:";
cin >> num1 >> num2;
//cout << num1 << " " << num2 << endl;
char *p1 = num1,*p2 = num2;
int sum = 0;
for (int i = 0; i < 50; i++)
{
int m = p1[i]-'0';
for (int j = 0; j < 50; j++)
{
int k = p2[j]-'0';
if (m>0&&k>0)
{
sum = m*k+sum;
}
}
}
cout << sum << endl;
return 0;
}
因为我的编译器不允许定义long long 类型的所以我用字符数组了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询