ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

C语言 拼音转汉字

2021-09-17 13:37:00  阅读:173  来源: 互联网

标签:拼音 int void 汉字 C语言 char ++ include


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <windows.h>
#define N 100
void del_char(char a[],char c)
 {
      int i,j;
    for(i=0,j=0; *(a+i)!='\0'; i++)
    {
         if(*(a+i)>='a'&& *(a+i)<='z')
             continue;
         else
         {
             *(a+j)=*(a+i);
            j++;
         }
     }
     *(a+j)='\0';
 }
int cishu(char *a,char *b) { 
int n=0;
 while(*a)
 {
     if(*a==*b) n++;
     a++;
 }
 return n;
}
char * retpinyin()
{
    static char name[10];
    srand((unsigned)time(NULL)); 
  int iRange1 = 0xf7 - 0xb0; 
    int iRange2 = 0xfe - 0xa1; 
   
     char iCode1 = rand()%iRange1 + 0xb0; 
     char iCode2 = rand()%iRange2 + 0xa1; 
     char chh[3] = {iCode1,iCode2,0}; 
     strcpy(name,chh);
    return name;
}
int StrReplace(char strRes[],char from[], char to[]) {
    int i,flag = 0;
    char *p,*q,*ts;
    for(i = 0; strRes[i]; ++i) {
        if(strRes[i] == from[0]) {
            p = strRes + i;
            q = from;
            while(*q && (*p++ == *q++));
            if(*q == '\0') {
                ts = (char *)malloc(strlen(strRes) + 1);
                strcpy(ts,p);
                strRes[i] = '\0';
                strcat(strRes,to);
                strcat(strRes,ts);
                free(ts);
                flag = 1;
            }
            break;
        }
    }
    return flag;
}
int main() {
    int zongshu=0,zhengque=0,cuo=0;
int zheng=0,bz=0;
int a=0;
FILE *fp;
char str[N + 1],ch[2],ch1[20],ch2[20],chx[10],str1[N+1];
char * chh;
char *p; 
//判断文件是否打开失败
if ( (fp = fopen("duizhao1.txt", "rt")) == NULL ) {
puts("Fail to open file!");
exit(0);
}
while(1)
{
 char str2[N+1]={0};
scanf("%s",&chx);
if(strcmp(chx,"1")==0)
break;
while( fgets(str, N, fp) != NULL ) 
{    
    //printf("%s\n",str);
if(strstr(str,chx)!=0)
{
    
    strcpy(str1,str);
    StrReplace(str1,"\n","");
    //printf("%s\n",str1);
    del_char(str1,"");
    //printf("%s\n",str1);
   strcat(str2, str1);
    
}
}
printf("%s\n",str2);
rewind(fp);   // fp回到开始位置
zongshu++;
}
fclose(fp);
return 0;
}

 

标签:拼音,int,void,汉字,C语言,char,++,include
来源: https://www.cnblogs.com/xkdn/p/15304198.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有