C语言实现翻译功能

本文实例为大家分享了C语言实现翻译功能的具体代码,供大家参考,具体内容如下

#include<stdio.h>

#define number 100

struct date

{

char chinese[30];

char English[30];

}a[number];

void copy(char *str1, char *str2, int counst)//将值赋给trans

{

int i = 0;

if (str2 == ' ' || str2 == '\0')

{

return;

}

while (counst--)

{

*str1++ = *str2++;

}

return;

}

int panduan(char *d, char *f)//判断是否相等

{

char *str1 = d, *str2 = f;

int xc=0;

while (!(xc = *str2 - *str1)&&*str1)

{

str1++;

str2++;

}

if (xc != 0)

{

return 0;

}

return 1;

}

char* ry( struct date a[number],char *wordtemp,int x)

{

for (int i = 0;i<x; i++)

{

if (panduan(a[i].English, wordtemp))

{

return a[i].chinese;

}

}

return "NULL";

}

int main()

{

char b;

int x;

int exit=0;

char str[50];

printf("[请先输入英文单词,再输入拼音,中间以空格隔开,当输入*时结束]\n");

for (int i=0;; i++)

{

printf("第[%d]组:\t", i+1);

scanf("%[^' ']", a[i].English);

scanf("%c", &b);

scanf("%[^\n]", a[i].chinese);

scanf("%c", &b);

if (*a[i].English == '*'&&*a[i].chinese == '*')

{

x = i;

break;

}

}

printf("[请输入你所要翻译的内容]\n");

scanf("%[^\n]", str);

printf("|翻译的结果为|:\n");

for (int i = 0;; i++)

{

if (str[i] != ' ')

{

char Trans[100];

int n = 0;

if(str[i]!=' ')

{

while (!(str[i] == ' ' || str[i] == '\0'))

{

n++;

i++;

if (str[i] == '\0')

{

exit = 1;

}

}

copy(Trans, &str[i - n], n);

Trans[n] = '\0';

printf("[%s]", ry(a,Trans,x));

}

if (exit)

{

break;

}

}

}

system("pause");

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 C语言实现翻译功能 的全部内容, 来源链接: utcz.com/p/244316.html

回到顶部