3

我想为温度生成一个随机数。我使用的代码如下:

int Temp()
{
    // genreate random temperture

    // initialize random seed: 
    srand ( time (NULL) );

    // generate number between 1 and 100:
    int t = rand() % 100 + 1;

    std::cout << t << std::endl;
    return t;
}

当程序运行时,它不会显示 1 到 100 之间的数字,而是显示以下内容:

010C1109

有人可以解释哪里出错或为什么出错了吗?

编辑:如果有人想知道我使用了以下内容:

#include <iostream>
#include <string>
#include <fstream>
#include <istream>
#include <ctime>
#include <stdio.h>      
#include <stdlib.h>    
#include <time.h>     
#include <map>
#include <cstdlib>
#include <cstring>
#pragma once
4

1 回答 1

2

如何选择数字的显示方式:

std::cout << std::hex << t << std::endl; //displays in hexadecimal
std::cout << std::dec << t << std::endl; //displays in decimal

在我的示例中,我看到十六进制的 58 和十进制的 88 (5*16+8)。这是使帖子完整的官方链接。

C++ 论坛:

http://www.cplusplus.com/forum/windows/51591/

详细说明:

http://www.cplusplus.com/reference/ios/dec/

于 2013-06-09T11:26:08.030 回答