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

简介: 连续读入多个单词,然后统计这些单词的总的长度、以及单词个数。直到输入结束:(按下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;
}


相关文章
|
2月前
|
Linux C++
Linux c/c++文件的基本操作
在Linux环境下使用C/C++进行文件的基本操作,包括文件的创建、写入、读取、关闭以及文件描述符的定位。
27 0
Linux c/c++文件的基本操作
|
3月前
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
2月前
|
Linux C++
Linux c/c++文件虚拟内存映射
这篇文章介绍了在Linux环境下,如何使用虚拟内存映射技术来提高文件读写的速度,并通过C/C++代码示例展示了文件映射的整个流程。
67 0
|
2月前
|
Linux C++
Linux c/c++文件移动
这篇文章介绍了在Linux环境下,使用C/C++语言通过命令方式和文件操作方式实现文件移动的方法。
93 0
|
3月前
|
Linux API C++
超级好用的C++实用库之文件目录操作
超级好用的C++实用库之文件目录操作
48 0
|
3月前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
28 0
|
4月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
55 0
|
4月前
|
监控 编译器 C++
【代码讲解】【C/C++】获取文件最后修改的时间(系统时间)
【代码讲解】【C/C++】获取文件最后修改的时间(系统时间)
158 0
|
4月前
|
安全 C++ Windows
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)
|
4月前
|
C++
C++通过文件指针获取文件大小
C++通过文件指针获取文件大小
37 0