1.除法运算/
得分情况讨论
①除号两边都是整数
那么这就是整除,得到的也是整数,其实就是咱们数学中的除法,然后对商进行向下取整(就是保留整数部分,小数部分全都舍掉)
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a,b;
int m;
scanf("%d %d",&a,&b);
m = a/b; //只能表示整除(如果两边都是整数),想要得到小数,得进行强制转换;有一个不是整数,就可以得到小数
printf("%d\n",m); //必须重新赋值
system("pause");
return 0;
}
输入5,2,结果为2
②除号两边存在浮点数
至少有一个不是整数,那么这就和咱们数学中的除法一样啦,结果就是小数
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a,b;
double m;
scanf("%d %d",&a,&b);
m = a/(double)b; //只能表示整除(如果两边都是整数),想要得到小数,得进行强制转换;有一个不是整数,就可以得到小数
printf("%.3f\n",m);
system("pause");
return 0;
}
如图所示,如果想要得到一个小数结果,除号两边就必须有一个浮点数,若输入的都是整数,此时你可以进行强制转换,就像上边代码所示的(double)b,
输出的时候,也必须输出的是浮点类型,否则可能会溢出,结果失真,代码中的.3f是指保留小数点后3位,如果不够三位,就用0补全。
**然后接收结果的值(上边代码中的m)必须得是浮点类型的,**否则就会出现这个黑框框中的结果,结果为0.
2.取余运算%
这个大家得注意,取余运算符两边必须都是整数
就是我们小学中学到的余数。。。
eg:5/2=2…1
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int a,b;
int m;
scanf("%d %d",&a,&b);
m = a%b;
printf("%d\n",m);
system("pause");
return 0;
}
7/4 = 1…3,所以7%4=3