我正在为我的计算I课程做一个程序,我必须从屏幕上输入单词输入(标准输入)并将单词转换为Pig Latin。
我可以轻松地将单个单词转换为Pig Latin;我的问题是输入。用户将在任意数量的行上输入任意数量的单词,然后在输入完成时在新行上输入五个句点(" .....")。教授给出的例子是:
快速的棕色狐狸 跳过懒狗 因为它不会移动如何在不知道用户输入多少字(或行)的情况下,将每行输入分成单个单词?
答案 0 :(得分:0)
这样的事情应该有效:
#include <stdio.h>
#include <string.h>
int main(int argc,char** argv) {
char input[64];
char* token = 0;
// get a line from input
while(fgets(input, 64, stdin)) {
// check for terminating characters
if(strncmp(input, ".....", 5) == 0) break;
// tokenize the input
token = strtok(input, " ");
while(token) {
// token contains each word
token = strtok(NULL, " ");
}
}
return 0;
}