作业帮 > 综合 > 作业

c=pow(a,2); b=(int)c%10 c=(int)pow(a,2);b=c%10 两种结果不同,为什么?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/17 03:35:14
c=pow(a,2); b=(int)c%10 c=(int)pow(a,2);b=c%10 两种结果不同,为什么?
会不一样吗?
举个例子
当a=12.5.
c=pow(a,2) 即c的值为156.25,其为double型
再b=(int)c%10 是先对c进行转换即c值为156(向零取整)再取余
即b=6;
分析下一个c=(int)pow(a,2);因为(int) c已经被转换了,即c为156
明显b=c%10的值为6.
再问: 确实不一样,我用它算同构数,10以内正确,但是超过10后平方数就会少1……
再答: 原来是算同构数 可以用这个编程 #include #include using namespace std; void main() { int i,a; for(i=2;i