首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++程序设计 判断货物真假,该如何处理

2012-04-14 
C++程序设计 判断货物真假判断五个箱子中假货的箱子 的模拟程序;下面是我写的程序,不知道出了什么问题;初

C++程序设计 判断货物真假
判断五个箱子中假货的箱子 的模拟程序;
下面是我写的程序,不知道出了什么问题;
初来乍到,望老师们指点一二
#include<iostream.h>
#include<math.h> 
void main()
{
int sum,sum1,sum2,k;
int a[5];
sum1=2+4+8+16+32;
sum2=31;
cout<<"请输入称得货物重量sum:";
cin>>sum;
k=sum-sum2;
int i=5;
while(i>0)
{

  if((k-2^(i-1))>=0)
  {
a[i-1]=1;
  k=k-2^(i-1);
  }
  else
  {
a[i-1]=0;
  }
   
  i--;

}
for(i=0;i<5;i++)
{
if(a[i]==1)
{
  cout<<(i+1)<<",";
}

}
cout<<"箱货物为真";


}

[解决办法]
把出错代码贴出来
[解决办法]
条件说清楚,怎么样才是假货,判断条件是什么,不然这变量是代表什么只有你自己清楚
[解决办法]
sum1=2+4+8+16+32;
sum2=31;
k=sum-sum2;
这3句话代表的是什么?
货物重量是什么,是代表真货一个箱子的重量,还是代表5个箱子的总重量,
[解决办法]
LZ的思路很好。换做我,我可能也想不到。
实现方法我也明白了,问题就在于C/C++的 ^操作符 不是指数运算,而是按位异或操作符。
如果想实现指数运算,用<cmath>(或<math.h>)的pow()函数。注意pow()的第一个参数必须是浮点型。

[解决办法]

探讨
LZ的思路很好。换做我,我可能也想不到。
实现方法我也明白了,问题就在于C/C++的 ^操作符 不是指数运算,而是按位异或操作符。
如果想实现指数运算,用<cmath>(或<math.h>)的pow()函数。注意pow()的第一个参数必须是浮点型。

[解决办法]
探讨
LZ的思路很好。换做我,我可能也想不到。
实现方法我也明白了,问题就在于C/C++的 ^操作符 不是指数运算,而是按位异或操作符。
如果想实现指数运算,用<cmath>(或<math.h>)的pow()函数。注意pow()的第一个参数必须是浮点型。

热点排行