如何改成输入自己想要的数字://初始化 srand((int)time(NULL)); //初始化随机数种子 printf(“The Random List:\n”); for (int i = 0; i < N; i++) //产生随机页面访问序列
时间: 2024-12-22 10:26:06 浏览: 4
如果你想让用户自定义数组大小`N`和随机数的最大值`P`,并在循环中直接读取这些输入值,可以按照以下步骤修改代码:
首先,需要提示用户输入这些值,并在循环之前检查输入的有效性。这里是一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int N, P;
// 获取用户输入
printf("请输入列表的长度:");
if (scanf("%d", &N) != 1 || N <= 0) { // 检查是否输入有效整数且大于0
fprintf(stderr, "错误:长度必须是正整数。\n");
return 1;
}
printf("请输入最大值:");
if (scanf("%d", &P) != 1 || P <= 0) { // 检查是否输入有效整数且大于0
fprintf(stderr, "错误:最大值必须是正整数。\n");
return 1;
}
// 保证输入范围内
if (P > 100) {
P = 100; // 如果P超过MAX,设置为MAX
printf("警告:最大值已调整为100。\n");
}
if (N > P) {
N = P; // 如果N大于P,设置N等于P
printf("警告:由于最大值限制,长度已调整为100。\n");
}
srand((int)time(NULL));
printf("The Random List with length %d and max value %d:\n", N, P);
for (int i = 0; i < N; i++) {
int random_page = rand() % P + 1; // 生成随机页面访问
printf("%d ", random_page); // 打印随机数
}
printf("\n");
return 0;
}
```
这部分代码会让用户直接输入数组长度和最大值,如果输入不合法,会显示错误消息并返回。之后生成随机数列表并打印出来。注意,为了演示,这里假设最大值不超过100。在实际应用中,可以根据实际需求修改这个限制。
阅读全文