1.为什么结果是统计的字母个数而不是统计单词的个数。
2.要怎么样才能使程序统计句子中单词的个数?
3.要怎么样才能同时输入多行英语句子?
#include<iostream>
using namespace std;
typedef int f2(int,int);
int fa(int a,int b)
{
return a+b;
}
int fb(int a,int b)
{
return a-b;
}
int fc(int a,int b)
{
return a*b;
}
f2* func[3];
int main()
{
func[0]=fa;
func[1]=fb;
func[2]=fc;
for(int i=0; i<3; ++i)
cout<<func[i](5,6)<<endl;
// 分别输出 11 -1 30
return 0;
}
最后是一个扩展阅读,c++11的lambda表达式
#include<iostream>
using namespace std;
typedef int f2(int,int);
int main()
{
auto fa=[](int a,int b){return a+b;};
cout<<fa(5,6)<<endl;
return 0;//输出11
}
c++ lambda表达式博客链接 https://www.cnblogs.com/DswCnblog/p/5629165.html
统计句子里的单词数,单词间以空格间隔,供参考:
#include<stdio.h>
#include<string.h>
int cntword(char* s)
{
int cnt = 0, flg = 1;
char* p = s;
while (*p) {
if (*p == ' ')
flg = 1;
else if (flg) {
cnt++;
flg = 0;
}
p++;
}
return cnt;
}
int main()
{
char s[512];
int cnt = 0;
gets(s);
cnt = cntword(s);
printf("%d", cnt);
return 0;
}