⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 将字写入索引表.c

📁 汉语拼音输入程序
💻 C
字号:
/* Note:Your choice is C IDE */
#include "stdio.h"
#include "conio.h"
char hzk_index[397][50],py[6];
unsigned char ch[2];

int seek_k(char py[6])
{int i,j,k;
 char buf[6];
 for(i=0;i<397;i++)
 {
 for(j=0;j<6;j++)
 buf[j]=hzk_index[i][j];
 if(buf[0]==py[0]&&buf[1]==py[1]&&buf[2]==py[2]&&buf[3]==py[3]&&buf[4]==py[4]&&buf[5]==py[5])
 {k=i;break;}
 }
 //printf("k=%d\n",k);
 return k;
}

int seek_same(int k,char qw[2])
{int i,j,c=0;
if(hzk_index[k][6]==hzk_index[k][8])
{i=hzk_index[k][6];
for(j=hzk_index[k][7];j<=hzk_index[k][9];j++)
if(qw[0]==i&&qw[1]==j){c=1;break;}
}
else
{i=hzk_index[k][6];
for(j=hzk_index[k][7];j<=94;j++)if(qw[0]==i&&qw[1]==j){c=1;break;}
 i=hzk_index[k][8];
for(j=0;j<=hzk_index[k][9];j++)if(qw[0]==i&&qw[1]==j){c=1;break;}	
}
//printf("c=%d\n",c);
return c;
}

void w_into(int k,char qw[2])
{int i=10;
	if(!seek_same(k,qw))
	{
	do{
	if(hzk_index[k][i]==qw[0]&&hzk_index[k][i+1]==qw[1])break;
	else if(hzk_index[k][i]==0&&hzk_index[k][i+1]==0)
	{if(qw[0]>0&&qw[0]<95&&qw[1]>0&&qw[1]<95)
	 {hzk_index[k][i]=qw[0];
	 hzk_index[k][i+1]=qw[1];}
	 break;}
	i+=2;
	}while(i<50);
	}
	
}

void data_init(void)
{FILE *fp;
int i,j;
fp=fopen("index.dat","r");
for(i=0;i<397;i++)	
for(j=0;j<50;j++)
fscanf(fp,"%d,",&hzk_index[i][j]);
fclose(fp);

}

void data_store(void)
{FILE *fp;
int i,j;
fp=fopen("index.dat","w");
for(i=0;i<397;i++)
{fprintf(fp,"\n");	
for(j=0;j<50;j++)
fprintf(fp,"%2d,",hzk_index[i][j]);
}
fclose(fp);
}

void py_ch(char *s1,char *s2)
{int i=0,k=0;

for(k=0;k<6;k++)py[k]=0;
while(*s1)
{py[i]=*s1-96;
 i++;s1+=1;
}
while(*s2)
{ch[0]=*s2-0xa0;
 ch[1]=*(s2+1)-0xa0;
 w_into(seek_k(py),ch);	
 s2+=1;
}
}

void main()
{
 data_init();
 py_ch("an","");
 data_store();	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -