Erguotou_ 2021-07-15 14:26 采纳率: 0%
浏览 30

pta乙级第二题为啥总是有个测试点过不去

img

#include <stdio.h>

void swtich_p(int h)                                //将数字转化为汉字拼音
{
    switch (h)
    {
    case 1:printf_s("yi"); break;
    case 2:printf_s("er"); break;
    case 3:printf_s("san"); break;
    case 4:printf_s("si"); break;
    case 5:printf_s("wu"); break;
    case 6:printf_s("liu"); break;
    case 7:printf_s("qi"); break;
    case 8:printf_s("ba"); break;
    case 9:printf_s("jiu"); break;
    case 0:printf_s("ling"); break;
    }
}

int main(void)
{
    int m=0,num=0;
    while ((m = getchar()) != '\n')                    //单独取出每一位数
    if(m <= 57 && m >= 48) num += (m - 48);            //滤掉非数字字符(这是后来加的加了也没用还是过不了),将数字字符的acill转化为数字,并相加
    
    do
    {
        if (num / 100)
        {
            swtich_p(num / 100);
            num -= 100 * (num / 100);
        }
        else if (num / 10)
        {
            swtich_p(num / 10);
            num -= 10 * (num / 10);
        }
        else
        {
            swtich_p(num);
            num /= 10;
        }
    }
    while (num != 0 && printf_s(" "));                //短路运算字符间留“ ”
    return 0;
}

来来回回改了几遍还是过不去

img

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-07-15 15:17
    关注

    你没有控制输入的数字个数不超过100

    评论

报告相同问题?

问题事件

  • 修改了问题 7月15日
  • 创建了问题 7月15日

悬赏问题

  • ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
  • ¥15 使用MATLAB进行余弦相似度计算加速
  • ¥15 服务器安装php5.6版本
  • ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
  • ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
  • ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
  • ¥15 arcgis处理土地利用道路 建筑 林地分类
  • ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
  • ¥100 寻会做云闪付tn转h5支付链接的技术
  • ¥15 DockerSwarm跨节点无法访问问题