网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月10日漏签0天
c语言吧 关注:801,779贴子:4,374,861
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 14回复贴,共1页
<<返回c语言吧
>0< 加载中...

用C生成随机数时,生成2000个或者以上个数时数据太大会自动清屏?

  • 只看楼主
  • 收藏

  • 回复
  • 一个开发者
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


这是生成100个随机数时 第一张图里的输出随机数 还是会显示 不会被清掉


  • 一个开发者
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是当生成10000个随机数时, 第一部分直接输出排序前的随机数时的 显示 被清掉不见了


2026-01-10 13:37:56
广告
不感兴趣
开通SVIP免广告
  • 一个开发者
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自顶 来人 帮帮忙 这个是什么问题


  • 一个开发者
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
再顶


  • 一个开发者
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶


  • 一个开发者
  • 便当
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int limit;
long randomnum[10001];
long temporary[10001];
typedef struct Node//声明结构体
{
int data;
struct Node *link;
} Node,Linklist;
numberconstruct()//产生随机数的函数 --产生2000个
//随机数据并将所产生的随机数存入到数组中去
{
int i;
int low,high;
printf("请输入随机数据上下限范围!\n");
printf("请输入下限数值:\nlow=");
scanf("%d",&low);
printf("请输入上限数值:\nhigh=");
scanf("%d",&high);
srand((unsigned)time(NULL));
for(i=0; i<limit; i++)
{
int k;
k=rand()%(high-low+1)+low ;//随机产生小于10000的2000个数据
randomnum[i]=k;
printf("%d\t",k);//空格输出随机函数所产生的随机数据
}
printf("\n随机数输出完毕==============================================================\n");
}
foregonefile()//排序之前的随机数文件 --新建文件并将
//由numberconstruct函数产生的随机数据数组中的数据读到文件中
{
int i;
FILE *fi;
if((fi=fopen("D:\\随机数据原始文件.txt","w+"))==NULL) //判断文件打开状态
{
puts("\n打开/新建文件错误,请检查是否存在D磁盘分区。或者在源文件中修改文件存储路径以解决次问题\n");
}
else
{
puts("成功打开/新建文件\n");
puts("随机数据读取中 ...\n");
for(i=0; i<limit; i++) //将随机数据读取并保存到文件中
{
fprintf(fi,"%d\t",randomnum[i]);
}
printf("\n随机数据已成功存储到以下文件文件中 (D:\\随机数据原始文件.txt) \n");
//反馈随机数据的保存结果信息
}
fclose(fi);
}
Linklist *Creatlistvector()//创建单链表存储结构并将随机数据读到内存中
{
Linklist *head;
Node *p;
int k;
head=(Linklist*)malloc(sizeof(Node));
head->link=NULL;
for(k=0; k<limit; k++)
{
p=(Node*)malloc(sizeof(Node));
p->data=randomnum[k];
p->link=head->link;
head->link=p;
}
return head;
}
void sort(Linklist *head)//对randomnmu数组中的数据排序操作 核心算法
{
Linklist *p,*q,*small;
int temp;
for(p=head->link; p->link!=NULL; p=p->link)
{
small=p;
for(q=p->link; q; q=q->link)
if(q->data<small->data)
small=q;
if(small!=p)
{
temp=p->data;
p->data=small->data;
small->data=temp;
}
}
}
void output(Linklist *head)//将排序后的数据输出并赋值到新的数组中并保存
{
int i=0;
Linklist *p;
p=head->link;
printf("\n数据排序后输出==============================================================\n");
do
{
printf("%d\t",p->data);
temporary[i]=p->data;
i++;
p=p->link;
}
while(p);
printf("\n排序数据输出完毕==============================================================\n");
}
numbersort()//数据保存 --将foregonefile文件中的数据排序后另存到新的文件中
{
FILE *fo;
int j;
if((fo=fopen("D:\\排序后数据文件.txt","w+"))==NULL)
{
printf("打开/新建文件错误,请检查是否存在D磁盘分区。或者在源文件中修改文件存储路径以解决次问题\n");
return;
}
for(j=0; j<limit; j++)
fprintf(fo,"%d\t",temporary[j]);
printf("\n排序后的数据文件已成功储存到以下文件(D:\\排序后数据文件.txt)\n");
fclose(fo);
}
int testlength()//测试要产生的随机数的数量是否太大
{
if(limit>10001){
return 1;
}
}
int main()//定义主函数
{
printf("请输入所要产生随机数据的个数(注意该数必须小于10000)\nlimit=");
scanf("%d",&limit);
if(testlength()==1){
printf("输入范围错误。程序退出\n");
return 1;
}
Linklist *head;
numberconstruct();
foregonefile();
Creatlistvector();
head=Creatlistvector();
sort(head);
output(head);
numbersort();
getchar();
return 0;
}
这是源代码 跪求大神


  • aaaaaaa421
  • 葱の帝球
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
被清掉是什么意思滚动条拉到头都显示不了吗?


  • 亡灵雪
  • 大能力者
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
数据太多,控制台显示不下,用cmd命令行解决:找到程序的.exe文件,复制路径,Win+R 输入cmd 打开命令行,输入 cd 空格 路径 回车,在复制.exe的文件名包括.exe后缀 ,然后输入 exe文件名 > 1.txt 等待一会,程序全部执行完才能输入回车关闭命令行


2026-01-10 13:31:56
广告
不感兴趣
开通SVIP免广告
  • jtx123
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
可以用文件的方法,也可以用暂停指令,判断数据为多少时,你按回车再继续


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示