C++算法,分别分离两个两位数,把他们的个位相乘

用户输入两个数A,B
分别判断A和B是不是一个一位数,
如果是的话,那么A*B
如果其中一个或两个是两位数
那么把两位数的个位和十位分离后,把A和B的个位相乘

我就需要这一小节的编程,希望大家帮帮忙,不用加其他多余的语句。谢谢

"分别判断A和B是不是一个一位数"好像不需要使用这一步判断
但是你这么要求那么就这样写:
直接对输入的数对10取模(也就是除以10的余数)
就可以得到输入的数的个位数
int A,B;
cin>>A>>B;
//输入两个数A B
int a,b;
a=A%10;b=B%10;
if(a==A)cout<<"A是个位数"<<endl;//判断是不是个位数.
if(b==B)cout<<"B是个位数"<<endl;
cout<<a*b; //输出A B个位数积
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-11
因为不管A,B如何,结果都是将2个数的个位数相乘,因此,求出个位数,然后相乘就可以了

int main()
{
int a,b;
printf("输入2个整数:\n");
scanf("%d%d",&a,&b);
printf("%d和%d的个位数的积是%d.\n",a,b,(a%10)*(b%10)); //a%10和b%10分别是求a,b的个位数
return 0;
}
第2个回答  2009-07-11
/*代码如下*/
#include<iostream>//定义头文件
using namespace std;
int Unit(int n)//创建函数
{
return (n/10==0) ? n: n%10; //如果n<10就将他返回
} //如果是两位就将他对10求余,剩下的就是个位
int main()//主函数
{
int A,B;//定义两整数
cin>>A>>B;//输入(<100)的两个整数
cout<<Unit(A)*Unit(B)<<endl;//输出两个数个位的乘积
return 0;//主函数结束
}
/*你这里只说AB最大为两位数,所以程序这样写,如果是两位数以上,就用循环!
(1)先将n%10 ,分离出个位。
(2)再将n/10 ,让n减小10倍。
(3)重复(1)(2)直到n<10结束。
你不让写代码,我把我的思路大概的说一下,希望对你有帮助!
遇事多想想,在求助!希望我们一起加油!!!*/
第3个回答  2009-07-11
#include<iostream>
using namespace std;

bool judge(int num)//判断是不是一位数,如果是的话,返回“真”, 否则返回假
{
int a;
a=num/10;//获得该数字的十位数数字
if(0==a)//如果十位数数字为0,返回真
return true;
else
return false;
}

void main()
{
int A=0,B=0;
int result=0
cout<<"请输入两个数"<<endl;
cin>>A>>B;
if(judge(A)&&judge(B))//如果两个数都是一位数
{
result = A*B;
}
else if(judge(A)&&(!(judge(B))))//其中一个数为两位数
{
int b = B%10;//获得个位数
result = A*b;
}
else if(judge(B)&&(!(judge(A))))
{
int a = A%10;
result = a*B;
}
else//两个数都是两位数
{
int a = A%10;
int b = B%10;
result = a*b;
}
cout<<result<<endl;//输出结果
}
第4个回答  2009-07-11
1 code:
#include "stdio.h"

int multiplication (int iNumA, int iNumB)
{
if (( 100 <= iNumA ) || ( 100 <= iNumB))
{
printf("The first Num is [%d].\n", iNumA);
printf("The second Num is [%d].\n", iNumB);
printf("Your enters' Nums are wrong!\n");
printf("must less then 100 please!\n");
return 0;
}

if (10 <= iNumA)
iNumA = iNumA % 10;

if (10 <= iNumB)
iNumB = iNumB % 10;

printf("%d * %d", iNumA, iNumB);
return iNumA * iNumB;
}

void main()
{
int A = 0;
int B = 0;
printf("Please enter tow numbers.\n");
printf("We will get last digits' multiplication!\n");
printf("Such as your enter is '56 77'.\n");
printf("We will get last digits' multiplication is '6 * 7 = 42'!\n");
scanf("%d %d", &A, &B);
printf(" = %d ", multiplication(A, B));
getchar();
}

2 提醒:注意程序编程风格和可读性
3 建议:初学时多上机尝试。

C++算法,分别分离两个两位数,把他们的个位相乘
直接对输入的数对10取模(也就是除以10的余数)就可以得到输入的数的个位数 int A,B;cin>>A>>B;\/\/输入两个数A B int a,b;a=A%10;b=B%10;if(a==A)cout<<"A是个位数"<<endl;\/\/判断是不是个位数.if(b==B)cout<<"B是个位数"<<endl;cout<...

请问怎么编写c++程序:交换两个两位数的个位与十位,并且输出这两个数字...
using namespace std;int main(){ int a,b;char c;cin>>a>>c>>b;a=a%10*10+a\/10;b=b%10*10+b\/10;cout<<a+b<<endl;return 0;}

C++两个数相除保留两位小数
你加上#include 另外,好像是:cout<<setprecision(2)<<z; pre=""> 全部 <\/setprecision(2)<<z;>

C++两个数相除保留两位小数
你加上#include <iomanip> 另外,好像是:cout<<setprecision(2)<<z;采纳哦

c++分离一个三位数或者是两位数,分离后的数字相加
int A,a,b,c;char quit;quit = '\\0';while(quit!='q'){ cout<<"please input the number A"<<endl;cin>>A;a=A\/100;b=(A-a*100)\/10;c=A-a*100-b*10;A=a+b+c;cout<<A;cin>>quit;} return 0;} 核心代码比和楼上差不多,不过我是把abc三者的值相加重新赋值给A了,...

c++交换两个乘数的位置,计算结果取两位小数后为什么不同
m和n手动算出来都是71.915,但内存中的表达上n的那个最后的5可能是比5还多一点被“四舍”得到的,而m的那个5可能是...49999999999...“五入”得到的,那么在代码由setprecision(2)限制2位小数时n由于小数第三位是5就被入到第二位得2了,而m由于第三位是4而被舍弃没有入到第二位。浮点数...

求用C++,输入两个整数,分别求它们的商和余数,并保留商的两位小数且第...
void main(){ int a,b;int y;float x;printf("请输入2个数字:");scanf("%d%d",&a,&b);x =a\/b;y =a%b;printf("商:%0.3f",x);printf("余数:%d",y);}

c++两个数判断大小
printf("请输入两个数:\\n");scanf("%d,%d",&a,&b);if(a>b){ printf("%d > %d\\n",a,b);} else if(a==b)\/\/c语言中=是赋值的意思 ==才是等于的意思 注意了哟 { printf("%d = %d\\n",a,b);} else { printf("%d < %d\\n",a,b);} \/\/printf("Sorry,有个BUG\\n"...

c语言中怎么表示两个两位数相乘等于一个两位数和一个三位数相乘?限定这 ...
aa[2] = b \/ 10;aa[3] = b % 10;aa[4] = c \/ 10;aa[5] = c % 10;aa[6] = d \/ 100;aa[7] = d % 100 \/ 10;aa[8] = d % 10;for(i = 0; i < 9; i++){ for(j = i + 1; j < 9; j++){ if(aa[i] == aa[j])flag = 0;else continue;} } ...

编写一个程序,其功能是:将两个两位数的正整数a,b合并成一个整数放在c中...
1、 编写一个程序,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。合并的方式是:将a中的十位和个位数一次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如:a=45,b=12时,执行程序后,c=4152.2010喜羊杨 | 浏览9151 次 |举报 我有更好的答案推荐...

相似回答