问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言拼音打字程序问题

发布网友 发布时间: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)这句有错误,可以为
if (strcmp(str_input,wo)==0)
当然之前也可以加了预处理,将所有输入都变成小写字母,这样可提高程序的兼容性。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
山外面包一个病旁是什么字 我的笔记本电脑显示电源的灯一直在绿色和橘红色之间闪烁,这是怎么回事... 笔记本电脑3个灯笔记本电脑这几个指示灯分别是啥意思 ...我的y470.第3个指示灯是橘红色的,开不了机,不知道怎么了?就开不了... QQ空间皮肤的代码是怎么放进去的啊. 为什么我在地址栏中输入皮肤代码按回车键,但一按空间就没有了 请教个问题哈~关于qq空间背景代码的,我在IE栏里输了代码,为啥每次弹出 ... win10删除多余的输入法 win10怎么删除多余的输入法 win10输入法怎么删除 win10输入法删除方法 如何做出爽口不腻、口味纯正的孟和尚粉肠? keil写程序都是中午拼音怎么办? 程序中有用汉语拼音写的xiezhiling和xiezhiling之类的,本人一点程序都不懂,想用这个程序仿真。 VLX、FAS文件怎么打开? 过程,是什么? 解耦的读音,解耦是什么意思,解耦程序,解耦怎么读 用word 或者其它程序怎么能打出汉语拼音啊? 有没有人像我一样用拼音输入法打“程序”的时候总是打成“chengxun” 电脑内存问题 急!!! 了许多现代程序设的拼音 福州有地方买到新加坡钟炎洲私人有限公司制造的猴头茹胃宝片吗? 卡西欧5800道路计算程序拼音是什么 为什么总是打空嗝,感觉不是胃里打出来的 步骤是什么意思 软件,字拼音怎么拼? 健卑胃的中成药 小儿胃宝片和硫酸庆大霉素可以一起吃吗? 程序拼音是什么 胃宝对胃都有哪些好处?养它的具体方法都有哪些? 桦茸与胃宝片可以一起吗 胃宝的功效 桌面上的应用程序怎么变成按拼音或笔画排列了? 网上买空调需要够买保养服务吗? 空调增值服务需要买吗 网上买空调安装怎么办 网上购买空调谁负责安装和售后服务 网上买空调好怎么售后 夏天想买空调了,网上买OK吗?售后服务怎么样啊? 从海尔空调网上商城购买的空调真的是有售后服务保障的么? 空调在网络买可靠吗 安装怎么办 网上买的美的空调,售后质保和店里买的一样吗 我之前的手机号别人在用但支付宝还是用这个手机号登的里面的钱会被盗刷吗? 用云闪付app绑定了农行卡别人让我扫二维码付款,我的卡里的钱会被盗刷吗?急急急明白的告诉我一下!谢 把自己平安银行的app登陆在别人手机上会有啥危险 银行卡被别人盗刷了自己手机银行app会有明细账流水显示吗? 你们绑定银行卡在APP上,然后被盗刷了嘛? 信用卡被别人用三方软件给盗刷,该怎么办?卡还能继续使用么? 别人上我iPhone&#127380;盗刷我信用卡我改了密码,手机也绑定了自己的,骗子以后还能盗刷吗? 在银行卡和支付宝都有密码的情况下登陆和下载一个陌生的app里面的钱会被盗吗? 自己的信用卡被陌生人登录网上银行,会有什么风险?应该怎么办? 害怕手机卡丢了别人利用我的卡,然后再用什么方法让我无法登录自己的微信,会发生这种事吗?