一道编程题目,求大神解答。最好是C语言,感激不尽!
1.产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中。2.编制一个程序,依次实现以下功能:a.定义一个有序(非递减)线性表,其最大容量为1000,初...
1.产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中。
2.编制一个程序,依次实现以下功能:
a.定义一个有序(非递减)线性表,其最大容量为1000,初始时为空。
b.从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。
c.在由b产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。
如果对您来说太过浪费时间的话,说一点点思路也好.
哪怕是写一两行的程序对我来说也是很大的帮助!
哪怕仅仅告诉我应该在书上什么部分寻找知识,我也会感激不尽!
真心求帮助。。谢谢大家了T T
如果需要财富我不会吝啬的!总之感激不尽。 展开
2.编制一个程序,依次实现以下功能:
a.定义一个有序(非递减)线性表,其最大容量为1000,初始时为空。
b.从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。
c.在由b产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。
如果对您来说太过浪费时间的话,说一点点思路也好.
哪怕是写一两行的程序对我来说也是很大的帮助!
哪怕仅仅告诉我应该在书上什么部分寻找知识,我也会感激不尽!
真心求帮助。。谢谢大家了T T
如果需要财富我不会吝啬的!总之感激不尽。 展开
3个回答
展开全部
额,时间不太够,只能写一部分代码,然后给你思路了,先抱歉。下面是代码:
#include<stdlib.h>
static int a[1000] = {0};
main()
{
int i;
for(i = 0; i< 1000; i++)
{
a[i] = (int)(999*rand())/(RAND_MAX + 1.0); //产生随机数并写入数组中。
printf("%d\n", a[i]); //打印
}
//本来满足你题目意思的线性表应该用指针表示,不过我习惯用数组了,你改为指针
//然后让它=NULL就满足题意了。
//后面是删除的部分,也很简单,看一下C语言教程链表的删除方式就行了;
// 大概就是这样了,希望能满足你的要求。
}
#include<stdlib.h>
static int a[1000] = {0};
main()
{
int i;
for(i = 0; i< 1000; i++)
{
a[i] = (int)(999*rand())/(RAND_MAX + 1.0); //产生随机数并写入数组中。
printf("%d\n", a[i]); //打印
}
//本来满足你题目意思的线性表应该用指针表示,不过我习惯用数组了,你改为指针
//然后让它=NULL就满足题意了。
//后面是删除的部分,也很简单,看一下C语言教程链表的删除方式就行了;
// 大概就是这样了,希望能满足你的要求。
}
展开全部
int pnArray[1000];//储存1000个整数
rand()%1000产生每个数字并填入数组
fopen用于生成文件(使用二进制方式生成文件)
fwrite把数组写入文件,此时文件是二进制文件,也可以直接把整数转成字符串存入文本文件。
fread一次性把数组全部从文件中取出到内存,然后自己操作线性表。
rand()%1000产生每个数字并填入数组
fopen用于生成文件(使用二进制方式生成文件)
fwrite把数组写入文件,此时文件是二进制文件,也可以直接把整数转成字符串存入文本文件。
fread一次性把数组全部从文件中取出到内存,然后自己操作线性表。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
要用栈实现吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询