C++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数_C 语言

来源:脚本之家  责任编辑:小易  

其实我一直很困惑的,毕竟一门语言就是这样,给你一本书,你也许就会了,但是真的就能马上活学活用吗?成为一个框架设计人员在美国至少是40岁,在中国35岁就可以,有的人认为IT行业挣钱多,但是自己是否真的喜欢这个东西,自己就不得而知了。中国人以前是不注重软件安全的,可能许多的WARMING就被我们无视了,但是这些警告或许就是致命的错误。偶然的机会,看到了网上这样一篇文章,拿来和大家共勉。尤其是不要浮躁32313133353236313431303231363533e4b893e5b19e31333361323034,虽然我有时候也浮躁。1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开发环境,而我们要学的是一门语言; 5.不要放过任何一个看上去很简单的小编程问题——他们往往并不那么简单,或者可以引伸出很多知识点; 6.会用Visual C++,并不说明你会C++; 7.学class并不难,template、STL、generic programming也不过如此——难的是长期坚持实践和不遗余力的博览群书; 8.如果不是天才的话,想学编程就不要想玩游戏——你以为你做到了,其实你的C++水平并没有和你通关的能力一起变高——其实可以时刻记住:学C++是为了编游戏的; 9.看Visual C++的书,是学不了C++语言的; 10.浮躁的人容易说:XX语言不行了,应该学YY;——是你自己不行了吧!? 11.浮躁的人容易问:我到底该学什么;——别问,学就对了; 12.浮躁的人容易问:XX有钱途吗;——建议你去抢银行; 13.浮躁的人容易说:我要中文版!我英文不行!——不行?学呀! 14.浮躁的人容易问:XX和YY哪个好;——告诉你吧,都好——只要你学就行; 15.浮躁的人分两种:a)只观望而不学的人;只学而不坚持的人; 16.把时髦的技术挂在嘴边,还不如把过时的技术记在心里; 17.C++不仅仅是支持面向对象的程序设计语言; 18.学习编程最好的方法之一就是阅读源代码; 19.在任何时刻都不要认为自己手中的书已经足够了; 20.请阅读《The Standard C++ Bible》(中文版:标准C++宝典),掌握C++标准; 21.看得懂的书,请仔细看;看不懂的书,请硬着头皮看; 22.别指望看第一遍书就能记住和掌握什么——请看第二遍、第三遍; 23.请看《Effective C++》和《More Effective C++》以及《Exceptional C++》; 24.不要停留在集成开发环境的摇篮上,要学会控制集成开发环境,还要学会用命令行方式处理程序; 25.和别人一起讨论有意义的C++知识点,而不是争吵XX行不行或者YY与ZZ哪个好; 26.请看《程序设计实践》,并严格的按照其要求去做; 27.不要因为C和C++中有一些语法和关键字看上去相同,就认为它们的意义和作用完全一样; 28.C++绝不是所谓的C的“扩充”——如果C++一开始就起名叫Z语言,你一定不会把C和Z语言联系得那么紧密; 29.请不要认为学过XX语言再改学C++会有什么问题——你只不过又在学一门全新的语言而已; 30.读完了《Inside The C++ Object Model》以后再来认定自己是不是已经学会了C++; 31.学习编程的秘诀是:编程,编程,再编程; 32.请留意下列书籍:《C++面向对象高效编程(C++ Effective Object-Oriented Software Construction)》《面向对象软件构造(Object-Oriented Software Construction)》《设计模式(Design Patterns)》《The Art of Computer Programming》; 33.记住:面向对象技术不只是C++专有的; 34.请把书上的程序例子亲手输入到电脑上实践,即使配套光盘中有源代码; 35.把在书中看到的有意义的例子扩充; 36.请重视C++中的异常处理技术,并将其切实的运用到自己的程序中; 37.经常回顾自己以前写过的程序,并尝试重写,把自己学到的新知识运用进去; 38.不要漏掉书中任何一个练习题——请全部做完并记录下解题思路; 39.C++语言和C++的集成开发环境要同时学习和掌握; 40.既然决定了学C++,就请坚持学下去,因为学习程序设计语言的目的是掌握程序设计技术,而程序设计技术是跨语言的; 41.就让C++语言的各种平台和开发环境去激烈的竞争吧,我们要以学习C++语言本身为主; 42.当你写C++程序写到一半却发现自己用的方法很拙劣时,请不要马上停手;请尽快将余下的部分粗略的完成以保证这个设计的完整性,然后分析自己的错误并重新设计和编写(参见43); 43.别心急,设计C++的class确实不容易;自己程序中的class和自己的class设计水平是在不断的编程实践中完善和发展的; 44.决不要因为程序“很小”就不遵循某些你不熟练的规则——好习惯是培养出来的,而不是一次记住的; 45.每学到一个C++难点的时候,尝试着对别人讲解这个知识点并让他理解——你能讲清楚才说明你真的理解了; 46.记录下在和别人交流时发现的自己忽视或不理解的知识点; 47.请不断的对自己写的程序提出更高的要求,哪怕你的程序版本号会变成Version 100.XX; 48.保存好你写过的所有的程序——那是你最好的积累之一; 49.请不要做浮躁的人; 50.请热爱C++!www.zgxue.com防采集请勿采集本网。

题目描述:一个正整数有可能可以被表示为 n(>=2) 个连续正整数之和,如:

《C++ PRIMER PLUS 中文版》:一本思想性不是很强,技巧性不是很强的书,但是对于初学者来说非常合适的书。其中许多论序方式都和具体化,总体来说,这本书是C++书籍里面最合适初学者的。推荐。

15=1+2+3+4+5

这些都是最基本的,我也是一个新手!我也在看钱能的书,别说他的书没用,我看了真的很有收获!虽然我懂的不多,慢慢给你解释 1:#include表示引用头文件,类似C中的#include\"stdio.h\",iostream是标准的C++头文件,

15=4+5+6

VC 6.0 下,我帮你改了一两个小地方,编译通过,你自己试试看 include using std:cin;using std:cout;using std:endl;int main() { cout输入两个正整数数比较它们的大小 int first=0;int second

15=7+8

采用C++的流输入就可以呀 按照你的意思,不用getline,给你写了段程序: include include using namespace std;void getnum();void main() { string input;while(1) { cin>>input;if(\"print\"=

请编写程序,根据输入的任何一个正整数,找出符合这种要求的所有连续正整数序列。

string names[]=new string[numOfStudent];这样就可以了,记得用完后delete掉

输入数据:一个正整数,以命令行参数的形式提供给程序。

输出数据:在标准输出上打印出符合题目描述的全部正整数序列,每行一个序列,每个序列都从该序列的最小正整数开始、以从小到大的顺序打印。如果结果有多个序列,按各序列的最小正整数的大小从小到大打印各序列。此外,序列不允许重复,序列内的整数用一个空格分隔。如果没有符合要求的序列,输出 “NONE” 。

例如,对于 15 ,其输出结果是:

1 2 3 4 5

4 5 6

7 8

对于 16 ,其输出结果是:

NONE

这是一道2005年百度之星程序设计大赛试题初赛题目。思路如下:

1、满足要求的数是连续的,所以只要选定起始值累加求和即可;

2、要确保遍历所有可能的起始值并且让循环的次数尽量少。分析一下可以知道,一个数最少由两个数求和构成,又因为这两个数是连续的。所以最大的起始值不会大于该数的二分之一。

代码如下,VC6.0验证OK。请拍砖,^_^

#include <iostream>#include <vector>using namespace std;// 根据输入的任何一个正整数,输出可能被表示的连续正整数void Numbers(int number){if (number <= ){return;}vector<int> save;bool exist = false;// 遍历可能的起始值for (int possible = ; possible < number / + ; possible++){int start = possible;int i = start;int sum = ;while (sum <= number) // 保存可以表示的连续正整数并输出{sum += start;if (sum == number){exist = true;for (; i < start + ; i++){save.push_back(i);}for (i = ; i < save.size(); i++){cout << save[i] << " ";}save.clear(); // 清空、准备保存下一可能的序列cout << endl;}start++;}}if (false == exist){cout << "NONE" << endl;}}int main(int argc, char **argv){const int number = ;Numbers(number);Numbers();return ;}

以上所述是小编给大家介绍的C++初学者之根据输入的任何一个正整数,输出可能被表示的连续正整数,希望对大家有所帮助!

#includeusing namespace std;int main(){freopen("内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • js判断输入是否为正整数、浮点数等数字的函数代码
  • 正则文本框只能输入正整数
  • javascript正则表达式校验非零的正整数实例
  • jquery 正整数数字校验正则表达式
  • js只能输入正整数的简单实例
  • 一种求正整数幂的高效算法详解
  • 只能输入小于最大数且是正整数的脚本
  • 使用javascript判断用户输入的是否为正整数(两种方法)
  • javascript正则表达式校验非正整数实例
  • c++求四个正整数最大公约数的方法
  • jquery判断正整数整理小结
  • c语言数据结构之判断循环链表空与满
  • 解析c++编程中的bad_cast异常
  • 深入c++中api的问题详解
  • c++从函数返回数组的方法代码
  • vc中实现gb2312、big5、unicode编码转换的方法
  • c++插入排序算法实例
  • 深度理解c++中的this指针
  • c语言通讯录实例分享
  • 基于稀疏图上的johnson算法的详解
  • c++开发截屏小程序功能
  • 本人C++初学者,“关于判断能否被3,5,7整除”有疑惑
  • C++语言的难点在哪?初学者需要从哪方面入手?
  • 新手求解C++的编程用语、名词的意思和用法!!
  • 本人是新手,初学c++,有很多不明白的东西,为什么在vc++6.0中要用using namespace std这个语句呢,它的作
  • C++算法的书籍(适合初学的)
  • 新手求解C++的编程用语、名词的意思!!
  • 新手c++编程问题,程序无故跳出
  • 求C++的一个程序(新手级)
  • 一个C++新手问题
  • 复制别人的《给C++初学者的50个忠告》2
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全c#教程vbvb.netc 语言java编程delphijavaandroidiosswiftscala易语言汇编语言其它相关首页c 语言js判断输入是否为正整数、浮点数等数字的函数代码正则文本框只能输入正整数javascript正则表达式校验非零的正整数实例jquery 正整数数字校验正则表达式js只能输入正整数的简单实例一种求正整数幂的高效算法详解只能输入小于最大数且是正整数的脚本使用javascript判断用户输入的是否为正整数(两种方法)javascript正则表达式校验非正整数实例c++求四个正整数最大公约数的方法jquery判断正整数整理小结c语言数据结构之判断循环链表空与满解析c++编程中的bad_cast异常深入c++中api的问题详解c++从函数返回数组的方法代码vc中实现gb2312、big5、unicode编码转换的方法c++插入排序算法实例深度理解c++中的this指针c语言通讯录实例分享基于稀疏图上的johnson算法的详解c++开发截屏小程序功能c语言程序设计50例(经典收藏)c语言10个经典小程序c语言字符串操作总结大全(超详细c语言文件操作函数大全(超详细)c语言字符数组与字符串的使用详解c语言运算符优先级列表(超详细)c语言/c++中如何产生随机数c++中的string常用函数用法总结深入理解c++中public、protectedc++常用字符串分割方法实例汇总c++中cstringlist用法详解c语言中的操作符优先级的详细介绍基于turbo c(v2.0)编译错误信息的详细介绍简明的c++函数指针学习教程c++火车入轨算法的实现代码解析c语言与c++的编译模型dword ptr指令详细解析c++运算符重载实例代码详解(调试环境 vic语言八皇后问题解决方法示例【暴力法与回使用c语言中的time函数获取系统时间
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved