面向对象部分_202

小伙伴们, 还在为不知道怎么下手而头疼吗, 我们程序竞赛协会来帮你们啦~\(≧▽≦)/~啦啦啦。

另外, 如果有对编程含有浓厚兴趣的同学, 我们随时欢迎你们的加入哟~~。

以下代码仅供参考, 如果你直接copy导致课设不及格, 我们可不服责任哟!!!(如果有问题的话, 可以在下面留言哦, 话说up主编程水平就这样, 有错轻喷啊)


策划:谭兆飞

编程:管怀文

协助:一号人员要求给她打码╮(╯_╰)╭,干脆二号也打码好了o(╯□╰)o(其实只是提供了题目啦~)



面向对象部分_202
#include <iostream>
#include <cstring>


using namespace std;


class WORD
{
private:
    char str[80];
    int c;
public:
    WORD(char*);
    void process();
    void print();
};


WORD::WORD(char* s)
{
    strcpy(str, s);
    c = 0;
}


void WORD::process()
{
    int n = strlen(str);
    int f = 0;            //用一个f来表示这个时候在空格前是否有一个单词 1表示有 0表示没有(因为可能会出现有两个空格的情况)
    for (int i = 0; i < n; i++)
    {
        if (str[i] == ' ' && f == 1)  //如果这个时候字符时一个空格 并且f等于1(即空格前是一个单词时) c加1 然后f清0
        {
            c++;
            f = 0;
        }
        else if (str[i] != ' ')
        {
            f = 1;
        }
    }
    if (f == 1)           //如果这个时候最后一个单词后面没有空格 上面的循环会少算一个 所以最后在判断一次即可
    {
        c++;
    }
}


void WORD::print()
{
    cout << str << endl
         << "单词个数为:" << c << endl;
}


int main()
{
    WORD w("I am a student");
    w.process();
    w.print();
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值