这个问题不太可能帮助任何未来的访问者;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况有关,而这些情况通常不适用于Internet的全球用户。要帮助更广泛地应用此问题,请访问visit the help center。
10年前关闭了。
我正在做一个个人项目,但我不知道该怎么做:
- 计算单词(每个单词花费5美元)
- 计算每个单词的字母(如果单词少于4个字母,则花费4美元,如果超过4个字母,则花费5美元)
这是我的代码:
char txt[50];
printf("Introduce a text: ");
scanf("%s",&txt);
for(i=1; i <= N; i++){
fgets(txt,50,stdin);
}
预期输出示例:
The cost is: $24 USD
我只是不知道下一步是什么,任何帮助将不胜感激:)谢谢。
更多说明:
假设一个用户介绍了一个文本:
Lorem ipsum dolor sit ameth
因此,该程序将查看每个单词,例如“Lorem”它有5个字母,它将花费该单词$5 USD..现在“ipsum”也有5个字母,所以另一个$5 USD..“dolor”有5个,所以其他$5 USD...“sit”有3个字母,所以让我们总结另一个$4 USD...“ameth”有5个,所以$5更多...
这篇文章的成本是:24美元
1条答案
按热度按时间bgtovc5b1#
一般来说我会做什么:
1.加载文本-除了错误处理/输入验证/溢出之外,您已经有了正确的想法。
1.使用
strtok()
fromstring.h
将输入标记为单词。但它基本上使用了一个分隔符(s)由您提供,用于拆分输入字符串(可能是txt
)转换为所需的令牌(例如- delimiter =“space”将把输入分割成每个“简单”单词,其中空格是新单词的唯一分界)。(通常在循环中调用strtok
)是下一个标记或“单词”。1.对
strtok
生成的每个cstring结果使用strlen
来计算每个“单词”的大小是的,我知道我们讨厌cplusplus.com,但这个例子在最初的一瞥中似乎还可以(确认-工作):
标记化语法看起来有点奇怪的原因是:
Description of STRTOK function and explanation of its syntax
警告:从链接中可以明显看出,
strtok
修改了你传递的原始字符串。因此,如果你想保留它用于其他光荣的目的,请在某个地方保存一个安全的副本。