iptton 发表于 2006-6-29 22:35

存内存到文件是 fwrite不是freed

powerwind 发表于 2006-6-29 22:46

楼上好久不见,终于可以上网啦?

明天考试后,我也要做C语言的课程设计了。到时和楼主一起交流。

Freedomer 发表于 2006-6-29 23:35

原帖由 iptton 于 2006-6-29 22:34 发表
fseek定位。。。


设计是要安排好各项数据的偏移量
fseek定位好像也行不通,因为他好像要有规律

Freedomer 发表于 2006-6-30 01:04

假如用折半查找法查找某个数,但在排好顺序的一列数里有两个相同的数,而我刚好就是要找这个数,应如何是好???用一般的折半查找法,试验结果是输出相同那两个数的最后一个............

powerwind 发表于 2006-6-30 09:23

折半查找法可以用递归或迭代,退出的条件就是找到了或者找完了也没找到。
不知楼上是要找相同两个的前一个,还是两个都要呢?(两个相等,其实也没所谓两个啦)
我想楼上应该是用递归,然后找到后面的那个。

iptton 发表于 2006-6-30 18:19

原帖由 powerwind 于 2006-6-29 22:46 发表
楼上好久不见,终于可以上网啦?

明天考试后,我也要做C语言的课程设计了。到时和楼主一起交流。


偷空上了下。。。    考试复习。。。好闷啊。。。。。。。


楼主,我们的课设应该是一样的

我的文件保存的   而且是预定好文件结构,是二进制所以用fseek会很方便。

而且我在一开始运行程序就把所有内容读进内存(当然,文件很大是就不可以这样了)

然后只对内存内容操作。

如果内容很多的话,我的设计是,只读进一部分。在需要是再读其他。比如排序,就要用外部排序法(合并排序)我写了个链表快速排序,考完了在发上来(是通用的,原形为stu myQSort(stu *head,stu *tail,(*comp)(stu *,stu *)))

Freedomer 发表于 2006-7-9 00:03

想不明白下面这个程序的结果为什么是-4??
请教高人
#include <stdio.h>
main()
{
int i=2;
i+=i-=i+i;
printf("%d\n",i);
}

powerwind 发表于 2006-7-9 00:31

先看右边的 "=",
i=i-(i+i)=2-(2+2)=-2;

然后看左边的 "="
i=i+i=(-2)+(-2)=-4

Freedomer 发表于 2006-7-9 23:51

没错没错!!当时为什么没想到啊?!
再请教:
#include<stdio.h>
void main()
{int a=10,y=0;
do
{
   a+=2;y+=a;
   printf("a=%d y=%d\n",a,y);
if(y>50) break;
}
while(a=14);
   getch();
}
第二次输出为什么不是14??

powerwind 发表于 2006-7-10 00:35

while(a=14);
应为
while(a==14);或while(a!=14);

良好的编程习惯很重要.
页: 1 [2]
查看完整版本: 新问题