c++ 编写一个程序,要求输入两个数a和b,计算出a和b的和,差,积,并输出(也就是显示出来)。
例如 int a; //定义了一个int型的变量a 展开
int main(void)
{
int a, b;
printf("请输入第一个整数\n");
scanf("%d", &a);
printf("请输入第二个整数(注意!这个数不能为零)\n");
scanf("%d", &b);
while (b==0)
{
printf("你输入了零!请重新输入!\n");
scanf("%d", &b);
if (b!=0) break;
}
printf("%d+%d=%d\n", a, b, a + b);
printf("%d-%d=%d\n", a, b, a - b);
printf("%d*%d=%d\n", a, b, a * b);
printf("%d/%d=%lf\n", a, b, a / (b*1.0));
printf("%d%%%d=%d\n", a, b, a % b);
system("pause");
return 0;
}
扩展资料:
分析多位二进制加法真值表可以总结出,多位二进制加法的规则了。如下:
sum = (x XOR y) XOR icarry
ocarry = (x AND y) OR (icarry AND (x XOR y)) = (x AND y) OR (y AND icarry) OR (icarry AND x)
利用以上的分析结果,可将x, y的每一位级联计算,先计算x和y的第零位,该位的输入进位(icarry=0)为零,将计算所得的进位传入到x和y的第一位的计算中,依次进行直到计算完最高位为止,此时将每一位计算所得的和连接起来就是最终的和,最高位计算所得的进位就是最终的进位。至此,二进制的加法应该没有什么问题了,很简单XOR为和,AND为进位。
using namespace std;
int main()
{
int a,b; // 声明变量a,b
cin>>a>>b; // 输入a,b
cout<<a+b<<endl;
cout<<a-b<<endl;
cout<<a*b<<endl;
cout<<(double)a/b<<endl; // 输出结果,除时要转换类型,才能保持精度
return 0;
}
using namespace std;
void main()
{
int a,b; // 声明变量a,b
cin>>a>>b; // 输入a,b
cout<<a+b<<endl;
cout<<a-b<<endl;
cout<<a*b<<endl;
cout<<(double)a/b<<endl; //(double)强制转换int型为double型,为了正确的结果。
}