C++primer第五版 统计在输入中每个值连续出现的次数

// primer_1_4_4.cpp : Defines the entry point for the application.
// 统计在输入中每个值连续出现的次数

#include "stdafx.h"
#include<iostream>
using namespace std;

int main()
{
	int currVal=0, val=0;  //currVal为当前正在统计的数,val为读入的新值
	cout << "input the numbers: (end with 'q')" << endl;  //提示用户输入一串数据,输入完成后以'q'结束
	if(cin >> val)  //检测是否有数据
	{
		int count=1; //count用于记录某个数据连续出现的次数,检测到有数据时,该数据已经出现一次,因此赋初值为1
		currVal=val; //当前正在统计的数据为第一个输入的数据
		while(cin >> val) //读取剩余的数据
		{
			if(currVal==val)  //如果新数据的值和前一个数据值相同
				count++;  //则计数变量加1
			else  //如果新数据的值和前一个数据值不同
			{
				cout << currVal << " occurs " << count << " times." << endl; //则先输出前一数据的统计结果
				currVal=val;  //再将新值赋给currVal,继续统计
				count=1; //计数变量重新赋值为1(新值统计)
			}
		}
		cout << currVal << " occurs " << count << " times." << endl; //记得打印文件中最后一个值的个数
	}
	system("pause");
	return 0;
}

程序已经注释得很清楚了,这里就不再累述。不过要特别提醒几点。

1. 输入完一串数据后,要以q结尾(或者以其它非int类型的输入结尾),不然最后一部分相同的数据的统计结果显示不出来;

2. 为了最后能显示出最后一个值的个数,需要在while循环外写上打印语句。

cout << currVal << " occurs " << count << " times." << endl; //记得打印文件中最后一个值的个数

则,输入一串数据:12 12 12 45 45 67 67 67 23 45 q,敲回车

则输出:

12 occurs 3 times.
45 occurs 2 times.
67 occurs 3 times.
23 occurs 1 times.
45 occurs 1 times.

即效果如下:

如果全是相等的值或者没有重复值,输出会怎样呢?

也是可以正常运行的。

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 《C Primer第五版》是一本经典的C语言教材,旨在为读者提供学习和掌握C语言的基础知识,深入了解C语言的语法和特性,以及如何在C语言开发程序。整本书分为三个部分,分别介绍C语言基础知识、控制语句和函,以及组、指针和字符串等高级主题。其,基础知识部分讲述了C语言基本的语法和据类型,详细介绍了变量、表达式、运算符、流控制和函的定义和调用。控制语句和函部分深入讨论了C语言的分支结构、循环结构和函的定义和使用。高级主题部分介绍了C语言组、指针、字符串和结构体等高级据类型,并讲述了如何利用这些特性开发高效的程序。另外,本书还提供了大量的示例代码和练习题,帮助读者更好地理解和掌握C语言的编程技巧。此外,《C Primer第五版》的电子书版本具有兼容性强、文字清晰、便于查询等优点,是学习和使用C语言的优秀参考资料。总之,这本书对于想要学习C语言的人来说是一本非常好的入门教材,可以帮助读者在学习C语言过程更加深入地理解和应用C语言。 ### 回答2: 《C Primer第五版》是一本介绍C语言基础概念的经典电子书。本书共分为18章,全面介绍了C语言的基本语法、控制流、据类型、函、指针、组、字符串、结构体、文件I/O等内容。 本书内容详实,通俗易懂,适合C语言初学者阅读。每个章节都附有大量的示例代码、习题以及解答,加深了读者对C语言概念的理解和掌握。 此外,本书的编排合理,从基础到深入,逐步引入C语言的各个概念,让读者能够逐步掌握C语言编程的基本方法和技巧。作者还通过大量的实例来说明不同技术之间的联系和区别,为初学者提供了实用的学习经验。 总之,《C Primer第五版》是一本非常优秀的C语言入门选手,它不仅适合初学者,也适合具有一定编程经验的读者进行巩固和提高。此外,电子书形式更加便于读者学习和查阅,建议广大读者尝试阅读。 ### 回答3: 《C Primer第五版》是一本针对初学者而编写的C语言教材,由Lippman、Lajoie和Moo合著。本书全面讲解了C语言的基础知识和开发技巧,并以简洁明了的语言、清晰的示例代码和丰富的练习题为特点。这本书可以帮助读者快速成为一个合格的C语言程序员。 本书分为三部分,分别介绍了C语言的基本结构、C语言程序设计和高级C语言编程。第一部分主要讲解了C语言的语法规则、据类型、变量、运算符等基础知识。第二部分主要讲解了程序设计的控制结构、组、函、指针等内容,包括如何进行模块化设计、如何组织代码、如何调试程序等。第三部分主要讲解了一些高级编程技术,如结构体、链表、文件处理等内容,此外还介绍了C++C语言库函的使用。 《C Primer第五版》的优点不仅在于其全面性和丰富性,更在于它注重实践教学。本书在讲解知识点的同时提供了大量的示例程序,并在每章末都有大量练习题供读者练习。这样的设计可以帮助读者更深刻地理解和运用各种知识点,并且能够更快速地掌握C语言的编程技巧和实践经验。 总之,如果你想学习C语言或者提高自己的C语言编程能力,那么《C Primer第五版》绝对是一本不可多得的教材,它可以帮助你轻松地掌握这门语言并成为一个合格的C语言程序员。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值