[考前经验]对拍

本文介绍了如何使用C++的rand()函数生成指定范围内的随机整数,并提供了生成0-0.9和0-0.001小数的方法。此外,还讲解了使用ctime库的time(0)获取当前时间戳,以及在命令行中进行对拍操作的步骤,包括批处理文件的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、生成随机数 (测试用,考试文件别用)

 [cstdlib]  rand()

rand()不需要参数,它会返回一个从0到RAND_MAX(最小为32767)的任意整数。

如果你要产生0~10的10个整数,可以表达为:

int N = rand() % 11;

如果要产生1~10

int N = 1 + rand() % 10;

总结来说,可以表示为:  a + rand() % (b-a+1) (a是起始值,b是终止值)

生成0-0.9的小数

生成0-0.001 的小数

#include<iostream>

#include<cstdio>

#include<cstdlib>

using namespace std;

int main() {

    //freopen("~~题目名称~~.in","r",stdin);  

    //freopen("test2.in","w",stdout);

    srand(time(0));

    for(int i=0;i<50;i++){

       cout<<1 + rand() % 100<<" ";

    }

    fclose(stdin);fclose(stdout);

    return 0;

}

  • srand(time(0));

[ctime] time(0)  clock()

  •    cout<<time(0); //返回从 1970-01-01 00:00:00 至今的秒数

参数解释(选学):

    time_t seconds;

    time(&seconds); //1970-01-01 00:00:00 至今的秒数

  • cout<<clock()<<endl;从执行程序起的毫秒数

二、对拍

cmd 打开命令提示符窗口

f: 回车

fc 1.out  2.out

若多次生成随机in文件,多次判断两个程序结果是否想相同,写成 批处理.bat

@echo off  
:loop  
    rand.exe
    my.exe
    std.exe
    fc 1.out 2.out
if not errorlevel 1 goto loop  
pause
goto loop

其中 1.echo off 是关掉命令显示   2. loop 名字自定义    3.errorlevel 0代表一样   1代表不一样

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值