多种组合,奇怪的结果,求解

P1553 数字反转(升级版)

我把最后一个版本修改了一下, ```c switch (b) { case 1: printf("/"); op(q,r); break; case 2: printf("."); op(q,r); break; case 3: printf("%%"); } } ``` 有误,其中的```case 2```内的```op```函数应当为```op(i,r)```; 但是依然只有95分,第12个测试点wa(已经不能下载数据了),求解......
by sduoooh @ 2022-01-19 14:26:36



by wxj1860 @ 2022-02-11 12:00:18


为什么都喜欢用switch啊,好像也不比if 4个判断快多少吧
by wxj1860 @ 2022-02-11 12:01:12


1.先判断输入的字符串类型(整数,小数,分数,百分数),建议存储用字符数组 用一个变量num存符号的位置 “.”“/”(“%”一定在最后一位),变量size存字符长度 2.整数没什么好说的应该都会 3.小数的整数部分跟整数没区别(1~num-1)从num-1开始向前判零,小数部分(num+1~size)跟整数部分相反,要从num+1开始判零,最后颠倒输出 4.分数比小数简单,分成两个部分(1~num-1和num+1~size)分别进行整数判断就行了 5.百分数就是直接进行整数判断(注意去掉最后的%,即1~size-1),最后输出零 PS:整数为零记得特判,符号记得输出
by wxj1860 @ 2022-02-11 12:17:50


@[wxj1860](/user/671859) 我用```switch```的原因可能比较朴素,就是觉得好看(手动笑哭)
by sduoooh @ 2022-02-17 23:18:27


@[wxj1860](/user/671859) 谢谢!问题已经解决了!
by sduoooh @ 2022-02-17 23:20:51


|