#include <conio.h>
#include <time.h>
#include <stdio.h>
#include <graphics.h>
#include <sys/stat.h>
//寫得很垃圾不要噴啊只懂一點點C語言就拿來寫這個訓練自己的記憶力
void main()
{
unsigned short a,b,c,f;/*A一共產生多少個單詞,B是計算循環的
C是計算多少個單詞換一行的就是A/F*/
unsigned int e,d;
char p[5];
struct stat st;
srand(time(0));//隨機種子
system("title 串聯聯想訓練工具");
printf("———————————————————————\n");
printf("| 串聯聯想訓練 |\n");
printf("|單詞庫在本程序的根目錄下(單詞.txt) |\n");
printf("|可以根據自己需要的自己添加!只支持兩個字的中文|\n");
printf("|格式為單詞加一個空格(中文 )<-這樣 |\n");
printf("|生成的單詞在根目錄下的(生成.txt) |\n");
printf("———————————————————————\n");
printf("請輸入一共要生成多少個詞只能是整數:");
scanf("%u",&a);
printf("要把詞劃分成幾行只能是整數:");
scanf("%u",&f);
FILE *fp,*pc;
if((fp=fopen("單詞.txt","r"))==NULL)
{
printf("沒有發現單詞文件");
getch();
exit(1);
}
pc=fopen("生成.txt","w");
stat("單詞.txt",&st);//讀出文件信息的
e=st.st_size;//計算文件大小的
c=a/f;//a/f計算多少單詞一個換行f是行的數量
for(b=1;b<=a;b++)
{
d=5*(rand()%(e/5));//隨機數e/5說明e里面有多是個單詞因為一個單詞占5個字節在這范圍內隨機
fseek(fp,d,0);//隨機的把指針亂指!就是指到D哪個位置
fgets(p,6,fp);//在讀出N-1個字符就剛剛好一個單詞的字節
fputs(p,pc);//把讀出的寫到文件去
if(b%c==0)//B是什么數的時候除C=0就是哪個時候改換行了
fputc('\n',pc);//寫一個換行符到文件中
}
fclose(fp);
fclose(pc);
printf("恭喜成功");
getch();
}

下載地址 (免ZD)
http://u.115.com/file/aq7wol7y
附件下載
[p_w_upload=1942]
附件:
串聯聯想訓練.rar
2011/9/5 04:24, 45 KB, 下載次數: 4
本文來自:快速記憶法 http://www.885221.com/dp-bbsthread-11968.html