连续读入多个单词,然后统计这些单词的个数、总长度。直到输入结束:(按下 Ctrl +z, 就会输入一个特殊的字符:文件结束符 EOF)分别使用 C 和 C++实现。

C++版本:

#include <iostream>
#include <string>
#include <Windows.h>

using namespace std;
int main(void) {
    string word;
    int length = 0;
    int count = 0;
    cout << "请输入多个单词:\n" << endl;
    while (1)
    {    
        // 输入成功时,返回 cin 对象本身
        // 遇到文件结束符(ctrl+z),而导致输入失败时,结束输入

        if ((cin >> word).eof())//cin对象调用eof()函数获取是否已经到了文件结束符
        {
            break;
        }

        count++;
        length += word.length();
    }
    cout << "总共有" << count << "个单词" << endl;
    cout << "单词的总长度是" << length << endl;

    system("pause");
    return 0;
}

C语言版本:

#include <stdio.h>
#include <string.h>
#include <Windows.h>

int main(void) {
    char word[100];
    int length = 0;
    int count = 0;
    printf( "请输入多个单词:\n" );

    while (1)
    {
        // 输入失败 返回 0
        // 遇到文件结束符 (ctrl+z),返回-1(EOF)

        if (scanf(%s,word)==-1){
            break;
        }

        count++;
        length += strlen(word);
    }
    printf ( "总共有 %d个单词\n",count );
    printf("单词的总长度是 %d\n",  length );

    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值