Ennn我也来问一下PAT乙级 1002题,测试点5(附加:送分)

wowpH 2019-10-21 04:16:17
看到那位老哥在写,我也想去看看,我之前用Java已经AC了。但是今天用C语言写的,测试点5死活过不去。。。脾气来了,非要知道测试点5是个什么鬼东西。只需要告诉我测试点5是啥就行。

PS:就当做送分也行。。。反正也没用。。。

题目:https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384


这是我的代码:测试点5过不去。
#include <stdio.h>

char str[10][6] = { "ling", "yi", "er", "san", "si", "wu", "liu ", "qi", "ba", "jiu" };

void output(int num);

int main(void) {
int sum = 0;
char ch = getchar();
while (ch != '\n') {
sum += ch - 48;
ch = getchar();
}
output(sum);
return 0;
}

void output(int num) {
if (num < 10) {
printf("%s", str[num]);
} else {
output(num / 10);
printf(" %s", str[num % 10]);
}
}


这是网上搜的代码:AC
#include <stdio.h>

int main()
{
int sum = 0;
char c, *pinyins[] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};

while((c = getchar()) != '\n')
sum += c - '0';

if(sum / 100)
printf("%s ", pinyins[sum / 100]);
if(sum / 10)
printf("%s ", pinyins[sum / 10 % 10]);
printf("%s", pinyins[sum % 10]);

return 0;
}
...全文
242 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wowpH 2019-10-25
  • 打赏
  • 举报
回复
引用 6 楼 SuperDay 的回复:
你可以搞定的啊!
我的天,我真是沙雕了。5楼第一张图片是因为它是八进制的12转成10进制就是10。。。。
wowpH 2019-10-22
  • 打赏
  • 举报
回复
引用 6 楼 SuperDay 的回复:
你可以搞定的啊!
没有,虽然发现了奇怪的地方,但是这个不太可能出现。。。还是无法解决我的疑惑。
铖邑 2019-10-21
  • 打赏
  • 举报
回复
你可以搞定的啊!
wowpH 2019-10-21
  • 打赏
  • 举报
回复
引用 3 楼 SuperDay 的回复:
最后需要换行吗?还有,如果前面出现0怎么处理呢?
不会换行,下面AC的代码也没换行。代码我没动。 惊呆我了。前面有0的话,值居然会改变。 一个0的话没事。 但是按照我的写法,前面根本不可能出现0啊。
铖邑 2019-10-21
  • 打赏
  • 举报
回复
最后需要换行吗?还有,如果前面出现0怎么处理呢?
wowpH 2019-10-21
  • 打赏
  • 举报
回复
补充:这是我的提交结果。
没饭吃! 2019-10-21
  • 打赏
  • 举报
回复
一个循环就搞定了吧
部署流程 https://pan.quark.cn/s/f94b36bac97f 在3D打印领域中,G-code(也称为G代码)是一种用于控制自动化机台,如3D打印机的语言。 G-code包含了一系列预定义的指令,告诉打印机如何移动、挤出材料、改变温度等。 以下是根据给定文件内容整理的知识点:### G-code代码命令解析#### 字母定义及其作用- **Gnnn**:标准的G代码指令,用于移动到某个坐标点。 例如G0(快速移动)和G1(同步移动)。 - **Mnnn**:RepRap定义的命令,如用于启动散热风扇(M106)或立即停止(M112)。 - **Tnnn**:选择工具编号,通常用于选择不同的挤出机(extruders)。 - **Snnn**:命令的参数,例如设置电机的电压。 - **Pnnn**:命令参数,表示时间,比如多长时间停留(Dwell/pause)。 - **Xnnn、Ynnn、Znnn**:分别代表X、Y、Z坐标,用于指导打印头移动到指定的位置。 - **Innn、Jnnn、Rnnn、Qnnn**:这些参数目前大多数情况下未使用。 - **Ennn**:挤出材料的长度,单位通常为毫米。 在Skeinforge 40以上版本中,它表示输入长丝消耗的绝对长度。 - **Fnnn**:表示每分钟进给量,也就是打印头移动的速度,单位是毫米。 - **Nnnn**:行号,用于错误时的重传请求。 - ***nnn**:校验码,用于检查通信错误。 #### 固件功能G-code的每个指令都能通过固件来执行不同的功能。 以下是一些常见的G-code指令和它们的作用:- **G0/G1**:快速移动或同步移动。 G1用于具有速度限制的移动,而G0通常用于不考虑速度的快速移动。 - ...

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧