发布网友 发布时间:2022-04-27 12:01
共2个回答
热心网友 时间:2023-07-13 23:40
//这段程序错误太多,而且代码风格太乱;
//不过估计您是个初学者,就帮你的程序按你思路修改了
//运行结果如下:
模仿拼音输入法
请输入拼音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,删除此行!
}
追问你做得不错!按照要求我会给你加分,但是怎么我的VC编译时这个错误还那么多?有11处错误。追答你把VC中自带的头文件留着,再把我给你的程序加进去,可能是VC编译器需要几个特定的头文件,你试试吧!
1. 把 int main() 改成 void main()
2. 删除 return 0;这一句。
其实我在注释里已经说明了,不同编译器,对main()函数的返回类型不一样。
下面是调整了一下风格的版本,你试一下,如果还有错误请把错误信息粘上来,我帮你分析是怎么回事。代码如下:
#include
#include
#include
//int main() //是int还是void,根据编译器,我用的是CodeBlocks需要用int
void main()
{
char wo[]= {"wo"};
char wo_ch[]= {"挝莴涡窝蜗倭踒喔我肟沃卧偓握幄渥龌涴硪斡"};
unsigned int i = 0;
unsigned str_ch_len = strlen(wo_ch);
printf("模仿拼音输入法\n");
printf("请输入拼音wo\n");
char str_input[3];
gets(str_input);//输入拼音
if (0 == strcmp(str_input,wo))
{
for(i=0; i= str_ch_len)
{
printf("你要选的字符不存在\n");
break;
}
else
printf("%c%c\n",wo_ch[2*n], wo_ch[2*n+1]);
}
}
else
printf("对不起,没有找到该拼音的字库\n");
//return 0;//如果主函数是void,删除此行!
}
希望对您有用!!
热心网友 时间:2023-07-13 23:40
if(str_input==wo)这句有错误,可以为