go语言实现随机生成测试整数

该Go代码示例用于生成一个包含10000个整数的数组,其中8000个为0,剩余2000个是1到100之间的随机数。然后,它会随机打乱数组并把结果写入到output.txt文件中。

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

要求:随机生成1万个整数,包含8000个0

package main

import (
	"fmt"
	"math/rand"
	"os"
	"time"
)

func main() {
	rand.Seed(time.Now().UnixNano()) // 设置随机种子
	n := 10000
	zeroNum := 8000
	data := make([]int, n) // 创建长度为n的int数组
	for i := 0; i < zeroNum; i++ {
		data[i] = 0 // 前8000个元素赋值为0
	}
	for i := zeroNum; i < n; i++ {
		data[i] = rand.Intn(100) + 1 // 后2000个元素随机生成1-100的整数
	}
	rand.Shuffle(n, func(i, j int) {
		data[i], data[j] = data[j], data[i] // 随机打乱数组中的元素
	})

	file, err := os.Create("output.txt") // 创建并打开一个名为"output.txt"的文件
	if err != nil {
		fmt.Println(err)
		return
	}
	defer file.Close()

	for _, d := range data {
		fmt.Fprintf(file, "%d\n", d) // 将每个元素写入文件,每行一个
	}

    //fmt.Println(data)     //直接输出

	fmt.Println("Done")
}

输出被保存在与程序同一目录下的output.txt中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值