"编写一个程序将其输入复制到其输出中,用一个空格替换一个或多个空格的每个字符串."
我假设他这意味着输入像...
我们(空白)(空白)(空白)去(空白)至(空白)(空白)(空白)在(空白)商城!
...并输出如下:
我们(空白)去(空白)至(空白)在(空白)商城!
这可能比我要做的更容易,但是,我似乎无法弄明白.我真的不想要代码...更多伪代码.
另外,我该怎么看?我很确定我编写的任何程序至少需要一个variable,一个while循环,几个if语句,并且将同时使用getchar()和putchar()函数......但除此之外,我不知所措.我还没有一个程序员的思路,所以如果你能给我一些建议,我应该如何看待一般的"问题",这真是太棒了.
(请不要提起else,我还没有在书中那么远,所以现在这超出了我的范围.)
我正在编写一个程序来计算空格,制表符和换行符.我记得标签和换行符的转义序列是什么,但空白呢?\ B' 还是那个退格?
标题几乎说明了一切,所以这里是代码:
#include <stdio.h>
/* Program counts blanks, tabs, and newlines */
int main(void)
{
int c;
int b, t, nl;
b = 0;
t = 0;
nl = 0;
while ((c = getchar()) != EOF)
if (c == ' ')
++b;
if (c == '\t')
++t;
if (c == '\n')
++nl;
printf("Input has %d blanks, %d tabs, and %d newlines\n", b, t, nl);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么这不起作用.它计算空白没有问题,但是当涉及到其余部分时,它们的值总是被打印为0.
不仅仅是"这里应该如何"的答案,我真的很喜欢"它不起作用,因为......你需要这样做,因为......"请回答.我正在努力掌握这些概念并实际理解语言,而不仅仅是知道哪些有效,哪些无效.
谢谢!你们已经帮助了吨:).
我在C中编写了两个程序来计算字符并打印值.
一个使用while循环,另一个使用.编译时没有报告错误,但都没有打印任何内容.
这是使用while的代码:
#include <stdio.h>
/* count characters and input using while */
main()
{
long nc;
nc = 0;
while (getchar() != EOF)
++nc;
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
这里的代码用于:
#include <stdio.h>
/* count characters and input using for */
main()
{
long nc;
for (nc = 0; getchar() != EOF; ++nc)
;
printf("%ld\n", nc);
}
Run Code Online (Sandbox Code Playgroud)
编译和运行.
当我输入输入并按Enter键时,会打印一个空白换行符.当我在没有输入任何内容的情况下点击输入时,再次打印空白换行符.我认为至少应该打印零.