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

C++版本

#include <iostream>

#include <string>

#include <Windows.h>

using namespace std;

int main(void) {

       string word;

       int count = 0;

       int length = 0;

       cout << "请输入任意多个单词:";

       while (1) {

              // 输入成功时,返回cin对象本身

              // 遇到文件结束符(ctrl+z),而导致输入失败是,返回0

           // vs, cin>>的返回值,不能直接和0比较,可改为:

           // if (!(cin>>word))

              if ((cin >> word) == 0) {

                     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[64];

       int count = 0;

       int length = 0;

       printf("请输入任意多个单词:");

       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;

}

连续输入多行字符串(文本),统计中的行数,以及字符个数。

分别使用C和C++实现。

C语言版本

#include <stdio.h>

#include <string.h>

#include <Windows.h>

int main(void) {

      char line[2048];

      int lineCount = 0;

      int length = 0;

      printf("请输入任意多行:");

      while (1) {

            if ( gets(line) == 0) {

                  break;

            }

            lineCount++;

            length += strlen(line);

      }

      printf("一共有%d行\n", lineCount);

      printf("总长度:%d\n", length);

      system("pause");

      return 0;

}

C++版本

#include <iostream>

#include <string>

#include <Windows.h>

using namespace std;

int main(void) {

      string line;

      int lineCount = 0;

      int length = 0;

      cout << "请输入任意多行:";

      while (1) {

            // 遇到文件结束符时, 返回NULL(0)

            if (getline(cin, line) == 0) {

                  break;

            }

            lineCount++;

            length += line.length();

      }

      cout << "一共有" << lineCount << "行" << endl;

      cout << "总长度: " << length << endl;

      system("pause");

      return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的鱼-blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值