第一次通过成语

用户名

这是一个经典问题,其中必须处理元素列表,但第一个元素的处理方式必须与其余元素不同。例如,打印一个字符串,使每个两个字符之间都有一个破折号。

这是一个非常可怕的例子

    char *text = "hello";

    for (int i = 0; i < strlen(text); i++) {

            if (i == 0) {
                    printf("%c", text[i]);
            } else {
                    printf("-%c", text[i]);
            }
    }

输出:

h-e-l-l-o

首先,这种情况是否有通用名称,以便我可以正确查找?

其次,当然,解决此类问题的更好方法是什么?“更好”是更少的代码行,更快的运行时间或更低的内存开销(最好是它们之间的妥协)。

以任何语言发布示例代码。

DPenner1

坚持使用您编写的原始C语言,通常最好是将特殊情况排除在循环之外,因为循环意味着重复执行同一任务。我将代码编写为:

char *text = "hello";

printf("%c", text[0]);
for (int i = 1; i < strlen(text); i++){
    printf("-%c", text[i]);
}

在这种情况下,通常最后一种情况也可能是一种特殊情况,您可以循环播放直到strlen(text) - 1当然,如果您使用专门用于处理此问题的API的语言,请像在@TylerEaves答案中一样使用它们。我不知道这种问题的任何具体名称,但是每当您调整循环界限时,请始终注意一个不合一的错误

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

第一次接触被忽略?

来自分类Dev

第一次击球太快

来自分类Dev

广度第一次迭代?

来自分类Dev

第一次流浪失败

来自分类Dev

第一次安装Ubuntu

来自分类Dev

第一次链接功能

来自分类Dev

第一次运行jstree

来自分类Dev

广度第一次迭代?

来自分类Dev

动画是第一次

来自分类Dev

第一次接触被忽略?

来自分类Dev

HTTPAsyncClient第一次跳过

来自分类Dev

第一次使用Mockito

来自分类Dev

摩卡第一次测试

来自分类Dev

第一次加载页面

来自分类Dev

第一次击球太快

来自分类Dev

组件的第一次更新

来自分类Dev

Laravel - 第一次使用

来自分类Dev

第一次安装 Ubuntu

来自分类Dev

iOS 7第一次通过时不正确计算UITableViewCell高度

来自分类Dev

按钮未通过第一次单击调用OnClickListener

来自分类Dev

如何在第一次加载时通过htaccess文件设置cookie

来自分类Dev

无法通过验证在jquery中单击第一次提交表单

来自分类Dev

通过VBS进行表单操作-第一次选择后需要更新表单

来自分类Dev

仅通过第一次出现的分隔符来分割字符串

来自分类Dev

powershell命令弹出通过USB连接的设备第一次不起作用

来自分类Dev

为什么道具/动作不是第一次通过?

来自分类Dev

通过第一次出现数字来分隔单元格

来自分类Dev

bxSlider onSlideBefore-第一次通过后不起作用

来自分类Dev

通过第一次出现的分隔符来分割字符串