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

菜鸟,问个初级有关问题

2012-02-24 
初学者,问个初级问题#include iostreamusingnamespacestdvoidmain(){intx,i(0)srand(256)do{xrand()

初学者,问个初级问题
#include <iostream>
using   namespace   std;

void   main()
{
    int   x,   i(0);
    srand(256);

    do
    {
        x=rand();
            if   (x> =5&&x <=1000)
{
    x=(x/5)*5;                       //??  
    cout < <x < < "\t ";
    cout < <x/10.0 < < "\t ";
    i++;
}
    }while(i <100);
}

这是书上的一个例题,是用随机函数rand()产生100个学生成绩,而且要求精确到0.5分;作“问号”那里我看不明白是什么意思,前辈们指点一下吧。

[解决办法]
x/5是取x除以5的商,比如
x=6;
x/5;//这时x==1
x=(x/5)*5;//这时x==5
[解决办法]
x=(x/5)*5; //??

注意 x 为整数的时候,
x/5 得到的结果也是整数,小数部分被丢弃了。

所以它的目的的就是得到小于等于x的最接近x的 5 的整数倍的值
[解决办法]
我认为 x=(x/5)*5;
但是(X/5)*5的答案却不等于X了
因为这与一开始X的值有关系
如果X能够整除5的话那么就是一样的 ,但是如果不是的话,那么X的值就发生了变化
这样正好保证了精确到0.5 因为后面的X/10.0就是得到0.5了

热点排行