该作业包含了很多内容,但不幸的是,我的教授......缺乏解释。如何打印出用户的输入,C中字母的字母?
如果我要读取用户的输入,然后在垂直行中输入每个字母,我不太确定语法的外观。
从长远来看,我们的目标是打印出一个垂直的单词中的每个字符,然后将它们的二进制值打印到它们的右边。
例:
Input = Hello
expected output =
H
E
L
L
O
该作业包含了很多内容,但不幸的是,我的教授......缺乏解释。如何打印出用户的输入,C中字母的字母?
如果我要读取用户的输入,然后在垂直行中输入每个字母,我不太确定语法的外观。
从长远来看,我们的目标是打印出一个垂直的单词中的每个字符,然后将它们的二进制值打印到它们的右边。
例:
Input = Hello
expected output =
H
E
L
L
O
编程的关键之一是将问题分解成更小,更易于管理的部分。一步一个脚印,每增加一个功能。
阅读用户的输入。不要做任何事情,只要读取它。
按照输入的内容打印用户的输入。
Hello
现在按字符打印输入字符。打印H
,然后e
,然后l
等您需要为此编写一个循环。
Hello
(最终的结果将看起来是一样的步骤#2中,但是您的代码会更长,这是在用于下一步骤制备。)
现在打印在单独的行的每个字符而不是全部在同一条线上。
H
e
l
l
o
最后,在打印它们时将每个字母转换为大写。
H
E
L
L
O
如果你不知道如何做一个特定的步骤,这就是谷歌进来,例如:
这将做到这一点;还有其他方法可以达到同样的效果:
int c;
while ((c = getchar()) != EOF)
printf("%c\n", c);
它的确取决于您是指“每个字母”还是“每个字符”。如果真的必须是字母,则:
int c;
while ((c = getchar()) != EOF)
{
if (isalpha(c))
printf("%c\n", c);
}
遍历C风格的字符串(以空字符“\ 0”终止字符数组)你能做到这一点在许多方面。这里是一个:
while(*ptr) {
printf("%c\n", *ptr);
ptr++;
}
与fgets获得一串用户输入。 fputc是少数输出命令之一。 把字符'\ n'导致一个新的。 这有帮助吗。如果您需要完整的工作列表,请发送电子邮件。
我不确定downvotes是必要的。如果我知道如何解决这个问题,我不会问这个问题。 – Coleton 2014-09-23 01:32:51
这个问题只是要求代码。网上有几十个示例代码片断正在做这件事。所以这个问题没有用,也没有显示研究工作。因此,我低估了。 – mafso 2014-09-23 01:44:44
而你是否知道答案是完全不相关的。你可以回答你自己的问题,这个问题可能是有趣或有用的,不管你是否知道如何解决问题。 – mafso 2014-09-23 01:51:55