C语言实现简单翻译功能

 更新时间:2019年01月31日 14:16:02   作者:火炎焱燚OOK  
这篇文章主要为大家详细介绍了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++实现LeetCode(125.验证回文字符串)

    C++实现LeetCode(125.验证回文字符串)

    这篇文章主要介绍了C++实现LeetCode(验证回文字符串).本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 一篇文章带你了解c++运算符重载

    一篇文章带你了解c++运算符重载

    下面小编就为大家带来一篇深入理解C++运算符重载。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-08-08
  • 使用dc画笔画矩形、直线与椭圆示例

    使用dc画笔画矩形、直线与椭圆示例

    这篇文章主要介绍了使用dc画笔画矩形、直线与椭圆示例,需要的朋友可以参考下
    2014-04-04
  • C语言实现歌曲信息管理系统

    C语言实现歌曲信息管理系统

    这篇文章主要为大家详细介绍了C语言实现歌曲信息管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • Qt编写地图之实现覆盖物坐标和搜索

    Qt编写地图之实现覆盖物坐标和搜索

    地图应用中经常会需要有覆盖物坐标和搜索的功能,本文将利用Qt实现这一功能,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-03-03
  • VC获取当前路径及程序名的实现代码

    VC获取当前路径及程序名的实现代码

    VC上或取当前路径有多种方法,最常用的是使用 GetCurrentDirectory和GetModuleFileName函数,个中都有诸多注意事项,特别总结一下
    2016-11-11
  • 2022最新使用VSCode编译运行C++的过程及会遇到的两个问题

    2022最新使用VSCode编译运行C++的过程及会遇到的两个问题

    这篇文章主要介绍了2022最新使用VSCode编译运行C++的过程及会遇到的两个问题,这里需要注意把刚才解压的地址加上\bin添加进去,比如我的:D:\aaakkk\cpp\mingw64\bin,然后点确定,注意一定要确保它被保存了,感兴趣的朋友跟随小编一起看看吧
    2022-09-09
  • C/C++实现跨文件共享全局变量详解

    C/C++实现跨文件共享全局变量详解

    这篇文章主要为大家详细介绍了C/C++如何实现跨文件共享全局变量,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • C++结构体数组详细解析

    C++结构体数组详细解析

    定义结构体数组和定义结构体变量类似,定义结构体数组时只需声明其为数组即可
    2013-10-10
  • 剖析C语言关键字之void,const,return

    剖析C语言关键字之void,const,return

    这篇文章主要为大家介绍了C语言关键字之void,const,return,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01

最新评论