//這段程序錯誤太多,而且代碼風格太亂;
//不過估計您是個初學者,就幫妳的程序按妳思路修改了
//運行結果如下:
模仿拼音輸入法
請輸入拼音wo
wo
0.撾?1.萵?2.渦?3.窩?4.蝸?5.倭?6.踒?7.喔?8.我?9.肟?10.沃?11.臥?12.偓?13.握?14.幄
15.渥?16.齷?17.涴?18.硪?19.斡?請輸入對應的序號選字:2
渦
//修改後程序如下,希望對妳有用!
#include<stdio.h>
#include<string.h>
int?main()?//是int還是void,根據編譯器,我用的是CodeBlocks需要用int
{
char?wo[]=?{"wo"};
char?wo_ch[]=?{"撾萵渦窩蝸倭踒喔我肟沃臥偓握幄渥齷涴硪斡"};
printf("%d:%s\n",?strlen(wo_ch),?wo_ch);
//char?str_input[3];
unsigned?int?i=0,str_ch_len=strlen(wo_ch);
printf("模仿拼音輸入法\n");
printf("請輸入拼音wo\n");
//scanf("%s",str_input);
char?str_input[3];
gets(str_input);//輸入拼音
//if(str_input==wo)//修改如下(字符串是不能直接比較的!)
if?(0==strcmp(str_input,wo))
{
for(i=0;?i<str_ch_len;?i+=2)
//printf("%d.%c?"i,wo_ch[i]);?//修改如下(雙引號之後應該有,號)
printf("%d.%c%c?",i/2,wo_ch[i],wo_ch[i+1]);
last:
printf("請輸入對應的序號選字:");
//scanf("%d"?&i);?//修改如下
unsigned?int?n;
scanf("%u",?&n);
if?(2*n>str_ch_len)
{
printf("妳要選的字符不存在\n");
goto?last;
}
else
{
printf("%c%c",wo_ch[2*n],wo_ch[2*n+1]);
}
}
else
{
printf("對不起,沒有找到該拼音的字庫\n");
}
return?0;//如果主函數是void,刪除此行!
}