如何从while循环中添加数字?

用户9435972

代码输出单独的行,但我希望它将所有行添加在一起。

示例测试数据文件:

Iris Pruysen 在 2014 年田径残奥会上

2014 年法国巴黎塞巴斯蒂安夏莱蒂体育场举行的2014 年田径残奥会上,Iris Pruysen 是一名带假腿的运动员。今天是 2017 年 7 月 27 日。

输出是:

Average number of letters per sentence 163.000  
Total number of digits is 8  
Average number of letters per sentence 5.000  
Total number of digits is 6

如何只有一行表示平均字母数和一行表示总数字?

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cctype>
using namespace std;
int main()
{
  int letters; //Total number of letters                                                                                                                                           
  int digits; //Total number of digits                                                                                                                                             
  double sentencecount; //Number of sentences                                                                                                                                      
  float averageletters; //Average number of letters per sentence                                                                                                                   
  int linecount=0; //Count of lines                                                                                                                                                
  char current; //Current character                                                                                                                                                                                                           
  cout << fixed << setprecision(3);
  cin.get(current);
  while (cin) //while receiving input                                                                                                                                              
    {
      digits = 0;
      letters = 0;
      linecount++;
      while (current != '.' && current != '!' && current != '?')        //checks each line                                                                                         
        {
          if (isalpha(current))//counts alphabet characters                                                                                                                        
            letters++;
          if (isdigit(current))//counts digits                                                                                                                                     
            digits++;
          cin.get (current);
        }
      sentencecount = letters/linecount;//finds average letters per sentence                                                                                                       
      cin.get (current);
      cout << "Average number of letters per sentence " << sentencecount << endl << "Total number of digits is " <<  digits << endl;
    }
  //  cout << "Average number of letters per sentence " << sentencecount << endl << "Total number of digits is " <<  digits << endl;                                               
  return 0;
}
约翰

这是我清理您的代码的努力。这真的是在正确的时间做正确的事情的问题。您需要考虑什么应该在循环内部,什么应该在外部。例如,很明显,如果您尝试计算字母总数,则将循环内的字母数设置为零是错误

#include <iostream>
#include <iomanip>
#include <cmath>
#include <cctype>
using namespace std;
int main()
{
  int letters = 0; // Total number of letters                                                                                                                                           
  int digits = 0; // Total number of digits                                                                                                                                             
  double sentencecount; // Number of sentences                                                                                                                                      
  float averageletters; // Average number of letters per sentence                                                                                                                   
  int linecount=0; // Count of lines                                                                                                                                                
  char current; // Current character                                                                                                                                                                                                           
  cout << fixed << setprecision(3);
  cin.get(current);
  while (cin) // While receiving input                                                                                                                                              
  {
    linecount++;
    while (current != '.' && current != '!' && current != '?') // Checks each line                                                                                         
    {
        if (isalpha(current)) // Counts alphabet characters                                                                                                                        
          letters++;
        if (isdigit(current)) // Counts digits                                                                                                                                     
          digits++;
        cin.get (current);
    }

    cin.get (current);
  }
  sentencecount = letters/linecount; // Finds average letters per sentence                   
  cout << "Average number of letters per sentence " << sentencecount << endl
       << "Total number of digits is " << digits << endl;                                               
  return 0;
}

免责声明,我还没有真正测试过上面的代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在循环中的scanf内添加数字?

来自分类Dev

如何在循环中的scanf内添加数字?

来自分类Dev

在for循环中加数字

来自分类Dev

使用管道输出通过while循环添加数字

来自分类Dev

Laravel 4提供计数变量时从foreach循环中添加数字?

来自分类Dev

添加所有数字(在 while 循环中)

来自分类Dev

如何在while循环中每次让python采样不同的数字

来自分类Dev

在while循环中添加中断如何解决过载歧义?

来自分类Dev

如何在while循环中在php中添加类?

来自分类Dev

如何在Java中使用while循环叠加数字模式?

来自分类Dev

如何通过AS3中的循环在数组中添加数字?

来自分类Dev

如何在Python中循环时向int添加数字

来自分类Dev

如何在每行开头添加数字?

来自分类Dev

如何为行添加数字列

来自分类Dev

如何在文件中添加数字

来自分类Dev

如何通过输入自动添加数字

来自分类Dev

如何为arraylist添加数字

来自分类Dev

重击-在while循环中将零添加到一位数字前

来自分类Dev

从循环内部添加数字以显示外部总数。爪哇

来自分类Dev

添加数字时,我应该使用什么而不是“for”循环?

来自分类Dev

在JavaScript while循环中添加回调

来自分类Dev

在WHILE循环中向字典添加“行”

来自分类Dev

在while循环中检查数字因数时获得无限循环

来自分类Dev

如何在while循环中递增数字,同时保留前导零(BASH <V4)

来自分类Dev

如何在循环中在字符串前添加一个递减的数字?

来自分类Dev

如何在Bash脚本的循环中添加多个数字?

来自分类Dev

如何在循环中为 4 到 31 的每个数字添加 50?

来自分类Dev

如何从循环中计算数字?

来自分类Dev

如何在for循环中跳过某些数字?

Related 相关文章

热门标签

归档