求助C语言高手! 25

排序:随机产生200个整数并存入一个文件a.dat中,将排序后的结果输出至b.dat,并在屏幕上打印出来最好有详细注解!麻烦了!因为要答辩老师会提问很急!... 排序:随机产生200个整数并存入一个文件a.dat中,将排序后的结果输出至b.dat,并在屏幕上打印出来
最好有详细注解!麻烦了!因为要答辩 老师会提问
很急!
展开
 我来答
windwhinny
2009-01-07 · 超过12用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:0
展开全部
#inlcude<stdio.h>
#include<stdlib.h>
int main()
{
FILE *file;
int i,n,a[200],b;

for(i=0;i<200;i++)//用rand函数随机产生整数,放进a数组里
a[i]=rand();

for(i=0;i<200;i++)//典型的排序方法,不会的话好好琢磨琢磨
for(n=i;n>0;n--)
if(a[n-1]<a[n])
{
b=a[n-1];
a[n-1]=a[n];
a[n]=b;
}

file=fopen("a.dat","rw");//打开a.bat文件,存入file指针里
for(i=0;i<200;i++)
{
fprintf(file,"%d\n",a[i]);//打印到文件里
printf("%d\n",a[i]);//打印到屏幕上
};
return 0;//返回
}
return;
}
ymyhgzs
2009-01-09 · TA获得超过299个赞
知道小有建树答主
回答量:731
采纳率:0%
帮助的人:273万
展开全部
这就是现在的大学生 !!!! 在学校混文凭!!!

题目出的不错,你们老师有点水平
一楼的做得不太完整,随机数有问题,那是个伪随机数,没有真正随机
排序算法也不行,这种算法效率太差,因为交换和比较的动作太频繁。称不上典型,更算不上经典
随机数应该这样
srand((unsigned int)time((time_t *)NULL));//随机数初始化
x= (int)((double)rand() / ((double)RAND_MAX + 1) * y);//得到随机数
y是指定随机数的最大值

排序的算法太多,

自己作吧,挺简单的其实,

我是觉得这样的题目针对这些学生来说,老师还是想让学生多动手,练习文件的操作和排序算法等等
难道老师让这些同学编操作系统才叫有新意???才叫有水平?
我认为语言没什么好学的,解决问题的思路才是关键,语言只是工具罢了!
看看就会
读死书的才钻研到某个语言语法里面
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溥昌Qx
2009-01-08 · TA获得超过538个赞
知道小有建树答主
回答量:292
采纳率:0%
帮助的人:366万
展开全部
题目既没有水平,也没有新意。
所以才是传说中的经典。
估计是刚学c语言吧。
楼上的用系统时间作为随机种子是较常用的一种方法。
排序法随便从教科书上选一种。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式