您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關使用C語言怎么實現一個翻譯功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發,使用C語言可以以簡易的方式編譯、處理低級存儲器。
題目描述:編寫一個程序,依次輸入英文與漢語拼音,輸入兩個“ * ”表示輸入結束,再輸入一段英語句子,打印出其對應漢語拼音。
要求:不得使用<string.h>頭文件
題目中要求不得使用<string.h>提醒我們使用其中的函數來編寫代碼,不過函數的實現需要自己來思考,根據自己的需要可以調整原函數的功能。思路大致是:輸入完畢后拿原結構體記錄的英文內容與 a 中的單詞逐個相比,若相同,則輸出結構體中對應的漢語拼音。
#include <stdio.h> #include <stdlib.h> #define M 100 struct tran //建立結構體,將英文與對應的漢語拼音存儲在一起 { char English[M]; char Chinese[M]; }n[M]; int my_strlen(char a[]); //聲明自定義測量數組長度的函數 int my_strcmp(char* str1,char* str2); //聲明自定義判斷兩個字符串是否相同的函數 int main() { int i=1,j,k; char a[M],*p=a; printf("請首先輸入英文,然后輸入漢語拼音:\n"); while(n[i-1].English[0]!='*'||n[i-1].Chinese[0]!='*') //當輸入兩個“ * ”時輸入終止 { printf("請輸入第%d組\t\t",i); scanf("%s%s",n[i].English,n[i].Chinese); i++; } printf("請輸入一個句子\n"); getchar(); //接收上一個回車,避免下一個scanf()無法輸入 scanf("%[^\n]",a); for(i=0;a[i]!='\0';i++) { if(my_strcmp(p,n[i].English)==1) { p=p+my_strlen(n[i].English)+1; //使p指針后移,指向第二個單詞 printf("%s ",n[i].Chinese); i=-1; //使下次循環 i = 0 } } printf("\n"); system("pause"); return 0; } int my_strcmp(char* str1,char* str2) { int flag=0; while(*str1==*str2) { str1++; if(*str1=='\0'||' ') { flag=1; return 1; } else str2++; } if(flag==0) return 0; } int my_strlen(char a[]) { int i,k=0; for(i=0;a[i]!='\0';i++) { k++; } return k; }
下面是程序示例:
看完上述內容,你們對使用C語言怎么實現一個翻譯功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。