我的程序要判断一个算式的值是否为整数,是的话计数+1
void main()
{
int n;
cin>>n;
int Count=0;
int j=(sqrt(8*n+1)-1)/2;
for(int i=1;i<=j;i++)
{
float a=(2*n-i*i-i)/2*i;
int b=a;
if((b-a)==0 )//判断a是否为整数
{
Count++;
}
}
cout<<Count<<endl;
}
可是结果不行
算式的值不是整数的也给判成整数了
c++中如何判断一个算式的值是否为整数
而float a=(2*n-i*i-i)\/2*i;这句话,即使你声明了a是个float,但也只能得到一个整型值,所以你怎么判断a和b都是相等的 这样改float a=(2*n-i*i-i)\/2.0*i;分子分母有一个数是浮点数就可以了,所以可以把2改成2.0 或者特地强调一下:float a=(float)(2*n-i*i-i)\/2*i; 这样也...
在c++里(F-32)*5\/9和5\/9*(F-32)有什么区别
c++中 (整数 除以 整数 结果必为整数 ) 因为5\/9结果为0,所以5\/9*(F-32)结果永远为0 其实只要把 5 改成浮点数 5.0 就能解决这个问题 : 5.0 \/9*(F-32){ 用(F-32)*5\/9进行换算的时候也出现了小数是怎么回事} 应该和你定义的 F 有关系 你的F定义为 double F...
C语言 在一个数组或指针里有一个算式(字符串),如何对它求值?
第二种情况:如果是+-*\/四则运算则判断栈顶元素的运算符是否大于当前的符号.(乘除优先于加减), 模拟:如果当前元素是+(或-),而栈顶元素是*(或除),那么,此时栈顶元素依此出栈直至栈顶元素 的优先级不大于当前元素。然后当前元素进栈。第三种情况:如果当前元素是左括号"(",则进栈。--因为它...
C+++有这样一种算式,当n等于3时,算式为3+33+333,计算结果是369,当n等于...
根据题目描述,我们可以看出这个算式是将数字3按照规律重复相加得到的。当n等于3时,算式为3+33+333,计算结果是369。现在让我们来计算当n等于5时的算式:当n等于5时,算式为3 + 33 + 333 + 3333 + 33333 我们可以逐位计算每一项的值,并将它们相加:3 + 33 + 333 + 3333 + 33333 = 3(...
C++中三目运算符是什么,怎么用
(a=)(2>1)?(3):(4)最左边是赋值操作 第二个部分是一个判断 第三和第四部分是两个常数 首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分 它相当于 if(a>b)c=a;else c=b;上面的例子用于获得a和b的最大值。这种运算还可以嵌套 比如判断year是不是闰年,是则返回1,不是...
C++简单运算,请解释一下
- a) + (b + + ) | - - c = 1; (b + = 1) => (b = b + 1=5)所以答案是a=1 b=5 c=3 你刚问的这个是或符号,非零就等于1,例如3|4=1,你的提问 有点错误,--a + b++ – --c 是个整体,四则运算符的优先级最高,|应该排在其后,不明白的可以再提问,谢谢 ...
C++中6==6==6的值是0为什么?
因为==是关系运算符,同级别运算符是从左到右进行计算,6==6结果等于1,后面算式变成1==6,所以结果肯定是0。
c语言中字符最大是多少?
就是0.1乘以8=0.8,不足1不取整,0.8乘以8=6.4,取整数6, 0.4乘以8=3.2,取整数3,依次下算。 编程中,我们常用的还是10进制.毕竟C\/C++是高级语言。比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。但二进制数太长了。比如...
C++ 求两个整数最接近平均数的方法
所以你要求两个整数的平均数最接近的整数,那么其实是两个算式都可以完美的达到效果 p = (m+n)\/2 p = (m+n+1)\/2 如果m+n的值是偶数,那么上边两个算式结果一样,都是准确的平均数 如果m+n的值是奇数,那么上边第一个算式是最接近平均数的那个小的值,第二个算式就是最接近平均数的那个...
谁能用C++把这个小算式写出来 m=(y2-y1)\/(x2-x1)谢谢了
C++里就是这样写的,但是注意如果你要求结果包含小数位就把这些变量声明成double型,如果只要求进行整数之间的运算,并且除法结果只保留整数位就把这些变量声明称int型