该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
void action(void);
void menu(void);
void readdictionary(void);
int f(int low, int high, char *k);
char e[80000][20], c[80000][20];
char key[20];
int num = 0, wordnum = 0;
int main(void)
{
FILE *fp = NULL;
fp = fopen("words.txt", "r");
if (fp == NULL)
{
printf("open error!\n");
exit(1);
}
while (!feof(fp))
{
fscanf(fp, "%s,%s", e[wordnum], c[wordnum]);
++wordnum;
}
fclose(fp);
menu();
while (num != 2)
{
scanf("%d", &num);
if (num == 1)
{
action();
while (getchar() != '\n')
continue;
}
}
printf("Thank you!");
}
void menu(void)
{
printf("-----------------\n");
printf("1.汉译英\t |\n");
printf("2.退出程序\t|\n");
printf("-----------------\n");
}
void action(void)
{
int i = 0;
printf("请输入您要查找的单词(输入’2‘结束)\n");
scanf("%s", key);
for (i = 0; i<80000; i++)
{
if (e[i] == key)
{
printf("%s", c[i]);
break;
}
}
}
/* int low=0,high=wordnum-1;
int index=f(low, high, key);
if (index == -1)
printf("查无此词!\n\n");
else
printf("%s 的中文意思是:%s\n\n", key, c[index]);
}
int f(int low, int high, char *k)
{
int mid;
while(low<=high)
{
mid=(low + high) / 2;
if(strcmp(e[mid],k)==0)?
{
return mid;
}
if(strcmp(e[mid],k)>0)
high=mid-1;
else
low=mid+1;
}
return -1;
}*/