📅  最后修改于: 2023-12-03 15:00:12.525000             🧑  作者: Mango
这是一道C语言的编程题。下面我会给你介绍问题背景、问题描述以及如何解决这道问题。
随着互联网的发展,人们对计算机的需求越来越高。因此,计算机科学之父提出了C语言,作为计算机科学的基础。C语言的语法简洁清晰,可读性强,还可以在多个平台上运行。
现在,我们需要你完成一个程序,可以输入一个字符串,并在屏幕上输出该字符串中每个单词的长度。
例如,如果输入字符串为:"the quick brown fox jumps over the lazy dog", 则输出为:
the: 3
quick: 5
brown: 5
fox: 3
jumps: 5
over: 4
the: 3
lazy: 4
dog: 3
下面是一份C语言代码,来解决这个问题。
#include <stdio.h>
#include <string.h>
int main() {
char str[1024];
printf("请输入字符串:");
fgets(str, 1024, stdin); //读取输入字符串
char *pch; //用来遍历字符串中每个单词
pch = strtok(str, " "); //将字符串以空格拆分成多个单词
while (pch != NULL) {
printf("%s: %lu\n", pch, strlen(pch)); //输出每个单词及其长度
pch = strtok(NULL, " ");
}
return 0;
}
下面是代码的分析:
str
,用于存储输入的字符串。printf
函数,提示用户输入字符串。fgets
函数读取用户输入的字符串,最多读取1024个字符。strtok
函数将输入字符串以空格为分界拆分成多个字符串,然后将其赋值给pch
指针。strlen
函数来计算单词的长度。printf
函数输出每个单词和它的长度。strtok
函数获取下一个单词。最后,记得在程序的末尾添加return 0
语句,表示程序正常结束。