[b]1-6 验证 getchar() != EOF 的值是 0 还是 1.[/b]
[quote]
[i][b]中文怎么了[/b][/i]
getchar() != EOF is: 1
Process returned 0 (0x0) execution time : 11.685 s
[/quote]
* [i][b]中文怎么了[/b][/i] 为输入内容
[b]1-7 编写一个打印 EOF 值得程序[/b]
[quote]
EOF is: -1
Process returned 0 (0x0) execution time : 0.015 s
[/quote]
[b]1-8 编写一个统计空格, 制表符与换行符个数的程序.[/b]
[quote]
[i][b]HELLO HELLO HELLO HELLO HELLO
ASSSSS
AASADASD
asdasdadasd
^Z[/b][/i]
n = 8
Process returned 0 (0x0) execution time : 28.280 s
[/quote]
[b]1-9 编写一个将输入复制到输出的程序, 并将其中连续的多个空格用一个空格代替.[/b]
[quote]
[i][b] H E L L O[/b][/i]
[u] H E L L O[/u]
[i][b]^Z[/b][/i]
Process returned 0 (0x0) execution time : 25.480 s
[/quote]
* 加了个下划线, 直接 quote 第一个空格不显示
[b]1-10 编写一个将输入复制到输出的程序, 并将其中的制表符替换为 \t, 把回退符替换为 \b, 把反斜杠替换为 \\. 这样可以将制表符和回退符以可见的方式显示出来.[color=darkred](未解决)[/color][/b]
:cry:
#include <stdio.h>
int
main()
{
printf("getchar() != EOF is: %d", (getchar() != EOF));
return 0;
}
[quote]
[i][b]中文怎么了[/b][/i]
getchar() != EOF is: 1
Process returned 0 (0x0) execution time : 11.685 s
[/quote]
* [i][b]中文怎么了[/b][/i] 为输入内容
[b]1-7 编写一个打印 EOF 值得程序[/b]
#include <stdio.h>
int
main()
{
printf("EOF is: %d", EOF);
return 0;
}
[quote]
EOF is: -1
Process returned 0 (0x0) execution time : 0.015 s
[/quote]
[b]1-8 编写一个统计空格, 制表符与换行符个数的程序.[/b]
int
main()
{
int c, n = 0;
while ((c = getchar()) != EOF) {
if (c == '\n' || c == ' ' || c == '\t') {
n++;
}
}
printf("n = %d", n);
return 0;
}
[quote]
[i][b]HELLO HELLO HELLO HELLO HELLO
ASSSSS
AASADASD
asdasdadasd
^Z[/b][/i]
n = 8
Process returned 0 (0x0) execution time : 28.280 s
[/quote]
[b]1-9 编写一个将输入复制到输出的程序, 并将其中连续的多个空格用一个空格代替.[/b]
#include <stdio.h>
int
main()
{
int c, p;
while ((c = getchar()) != EOF) {
if (c != ' ' || (p != ' ')) {
putchar(c);
}
p = c;
}
return 0;
}
[quote]
[i][b] H E L L O[/b][/i]
[u] H E L L O[/u]
[i][b]^Z[/b][/i]
Process returned 0 (0x0) execution time : 25.480 s
[/quote]
* 加了个下划线, 直接 quote 第一个空格不显示
[b]1-10 编写一个将输入复制到输出的程序, 并将其中的制表符替换为 \t, 把回退符替换为 \b, 把反斜杠替换为 \\. 这样可以将制表符和回退符以可见的方式显示出来.[color=darkred](未解决)[/color][/b]
:cry:
/*
* TODO
* 我做不出来, getchar() 居然要等一个回车, 难道我记错了?
*/
#include <stdio.h>
int
main()
{
int c;
/* c = getchar() 不加括号编译会有警告 */
while ((c = getchar())) {
/* 意义不大, 为了让程序在收到 EOF 可以退出 */
if (c == EOF) {
return 0;
}
if (c == '\t') {
printf("\\t");
} else if (c == '\b') {
printf("\\b");
} else if (c == '\\') {
printf("\\\\");
} else {
putchar(c);
}
}
return 0;
}