要求:
输入一个英文句子(以句号结束),要求将句中单词分行打印。
解答如下:
#include<stdio.h>
int main()
{
char c; //取一个字符变量
while((c = getchar())!='.') //创造循环,设定循环结束条件
{
if (c != ' ') //循环中嵌套一个if函数
putchar(c); //打印字符
else
putchar('\n');
}
}
我们对改代码进行分析:
首先,我们先取一个字符变量c,再创造一个while循环,循环结束条件设定为当写入的字符为“.”时循环结束,getchar()函数当我们输入一个连串的字符时,getchar()的任务就是一个字符一个字符的进行读取,所以当我们输入的英语句子中“."出现时(即该句子结束)该循环结束。
再继续看嵌套的if函数,当输入的字符不为”空格“时,便会执行putchar(c)的操作,即打印该字符,反之,如若该输入字符为”空格“时,则进行换行。
这样下来,便可以完成我们的题目要求,实现目标。