本文实例为大家分享了C语言实现翻译功能的具体代码,供大家参考,具体内容如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
#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" );
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/yyk219/article/details/79989021