明天考试后,我也要做C语言的课程设计了。到时和楼主一起交流。 原帖由 iptton 于 2006-6-29 22:34 发表
fseek定位。。。
设计是要安排好各项数据的偏移量
fseek定位好像也行不通,因为他好像要有规律 假如用折半查找法查找某个数,但在排好顺序的一列数里有两个相同的数,而我刚好就是要找这个数,应如何是好???用一般的折半查找法,试验结果是输出相同那两个数的最后一个............ 折半查找法可以用递归或迭代,退出的条件就是找到了或者找完了也没找到。
不知楼上是要找相同两个的前一个,还是两个都要呢?(两个相等,其实也没所谓两个啦)
我想楼上应该是用递归,然后找到后面的那个。 原帖由 powerwind 于 2006-6-29 22:46 发表
楼上好久不见,终于可以上网啦?
明天考试后,我也要做C语言的课程设计了。到时和楼主一起交流。
偷空上了下。。。 考试复习。。。好闷啊。。。。。。。
楼主,我们的课设应该是一样的
我的文件保存的 而且是预定好文件结构,是二进制所以用fseek会很方便。
而且我在一开始运行程序就把所有内容读进内存(当然,文件很大是就不可以这样了)
然后只对内存内容操作。
如果内容很多的话,我的设计是,只读进一部分。在需要是再读其他。比如排序,就要用外部排序法(合并排序)我写了个链表快速排序,考完了在发上来(是通用的,原形为stu myQSort(stu *head,stu *tail,(*comp)(stu *,stu *))) 想不明白下面这个程序的结果为什么是-4??
请教高人
#include <stdio.h>
main()
{
int i=2;
i+=i-=i+i;
printf("%d\n",i);
} 先看右边的 "=",
i=i-(i+i)=2-(2+2)=-2;
然后看左边的 "="
i=i+i=(-2)+(-2)=-4 没错没错!!当时为什么没想到啊?!
再请教:
#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?? while(a=14);
应为
while(a==14);或while(a!=14);
良好的编程习惯很重要.
页:
1
[2]