浙大翁恺pat练习题_单词长度(翁恺老师C语言入门第八周测试题1)
【更新】:寫好程序后沒在mooc的線上測試系統跑過,有部分格式上的bug,目前已經更新了,線上測試通過。
題目內容:
你的程序要讀入一行文本,其中以空格分隔為若干個單詞,以‘.’結束。你要輸出這行文本中每個單詞的長度。這里的單詞與語言無關,可以包括各種符號,比如“it's”算一個單詞,長度為4。注意,行中可能出現連續的空格。
輸入格式:
輸入在一行中給出一行文本,以‘.’結束,結尾的句號不能計算在最后一個單詞的長度內。
輸出格式:
在一行中輸出這行文本對應的單詞的長度,每個長度之間以空格隔開,行末沒有最后的空格。
輸入樣例:
It's great to see you here.
輸出樣例:
4 5 2 3 3 4
#include int main()
{
char ch;
int cnt=0,mark=0,sgn=0;
while((ch=getchar()) != '.')
{
if(ch!=' ') cnt++;
else if(ch==' ' && cnt>0)
{
if(mark>0){printf(" ");//當cnt>0且遇到第一個空格時,假如mark>0,則先輸出一個空格} //這樣可以避免輸出第一個單詞個數時前面有空格printf("%d",cnt);
sgn++;
cnt=0;
mark++;
}//第一個空格后面的連續空格直接跳過}
if(cnt>0 && sgn>0) //保證只有空格的情況下不會有輸出{
printf(" %d",cnt);}
else if(cnt>0 && sgn==0) printf("%d",cnt);
return 0;
}
一開始想用scanf來讀取字符串,但是scanf遇到空格就不能讀取了,很麻煩,翻看了《c primer plus》第四章和第八章的內容,發現getchar()非常好用,果然,很清爽的就滿足了要求。
翁愷老師的C入門課程對字符串這一塊講得比較簡略,推薦初學者看視頻的同時結合《c primer plus》這本書學習,看到一個地方出現疑問了,作者總能給出詳盡的解釋,而且示例代碼恰到好處,nice!
總結
以上是生活随笔為你收集整理的浙大翁恺pat练习题_单词长度(翁恺老师C语言入门第八周测试题1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 制冷剂品牌
- 下一篇: gta5线上茉德任务怎么做(真的有那么好