生活随笔
收集整理的這篇文章主要介紹了
2019/3/20统计单词数
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述:
修羅王和邪狼潛入銀行盜走了大量的珠寶,警察經(jīng)過仔細(xì)查找和推理,終于找到了裝有這批珠寶的保險(xiǎn)柜,但無法打開保險(xiǎn)柜。經(jīng)過觀察發(fā)現(xiàn)保險(xiǎn)柜背面有一行字符,且發(fā)現(xiàn)只要統(tǒng)計(jì)出這行字符串中有多少個(gè)單詞就是打開保險(xiǎn)柜的密碼。單詞之間由一個(gè)或多個(gè)空格分開,且字符串不以空格開頭。
輸入描述:
輸入一行包含若干空格的字符串,且字符串的長(zhǎng)度不超過 1000 個(gè)字符。
輸出描述:
占一行,輸出單詞數(shù)目。
樣例輸入:
How are you?
樣例輸出:
3
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>using namespace std;int str2int(string str)
{int ret = 0;bool flg = (str[0]=='-');for(int i = (flg==true?1:0);str[i]!='\0';i++){if(i>0)ret*=10;ret+=str[i]-'0';}return flg==true?-ret:ret;
}string int2str(int n)
{bool flg=(n<0);string ret="";for(n=(flg==true?-n:n);n>0;n/=10)ret=char((n%10)+'0')+ret;if(flg==true)ret='-'+ret;return ret;
}int cal1(string exp)
{ int a,b,c,i,j;while(1){bool flg=false;for(int i=exp[0]=='-'?1:0;exp[i]!='\0';i++)if(exp[i]=='+' || exp[i]=='-')flg=true;if(flg==false) return(str2int(exp));bool f=(exp[0]=='-');if(f==true)exp=exp.substr(1,exp.length()-1);for(i = 0;exp[i]!='\0'&& exp[i]!='+' && exp[i]!='-';i++)continue;for(j = i+1;exp[j]!='\0'&& exp[j]!='+' && exp[j]!='-';j++)continue;a = str2int(exp.substr(0,i));b = str2int(exp.substr(i+1,j-i-1));a=(f==true?-a:a);if(exp[i]=='-')c = a-b;elsec = a+b;exp=exp.substr(j,exp.length()-j);exp=int2str(c)+exp;}}int main()
{char OJtmp[1001];string expression;while(scanf("%s",OJtmp)!=EOF){expression=OJtmp;cout<<cal1(expression)<<endl;}return 0;
}
總結(jié)
以上是生活随笔為你收集整理的2019/3/20统计单词数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。