课堂练习&课下作业
2016-04-08 17:51
267 查看
设计思路:
1.先解决随机输入数字个数的问题:用while解决(while(cin>>num))若输入的不是数字则结束;
2.先定义Max1=0和Max2=0,Max1+=num,和Max2比较,若Max1>Max2,Max2=Max1如果Max1<0就令Max1=0;这样就解决了输入数字中有负数的问题;
源代码:
出现的问题:怎样解决用户自己都不知道数组数字个数可以随机输入数组数字的个数问题?
解决的方法:用while语句,可以解决上述问题。
结果截图:
![](https://images2015.cnblogs.com/blog/812000/201604/812000-20160408174139781-1227633967.jpg)
总结:
while语句可以解决事先并不知道数组元素个数的问题;
数据结构要时常温习,编程中有很多地方都用得到,比如这次用的排序方法。
1.先解决随机输入数字个数的问题:用while解决(while(cin>>num))若输入的不是数字则结束;
2.先定义Max1=0和Max2=0,Max1+=num,和Max2比较,若Max1>Max2,Max2=Max1如果Max1<0就令Max1=0;这样就解决了输入数字中有负数的问题;
源代码:
/*输入一个整形数组,数组里有正数也有负数。 数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。 求所有子数组的和的最大值。要求时间复杂度为O(n) 李国帅 2016.4.08 */ #include <iostream> using namespace std; int main() { int num,max1=0,max2=0; cout<<"请输入数据,如果要结束,请输入非数字:"<<endl; while(cin>>num)//当输入的数据是数字时执行下列语句 { max1+=num; //判断最大值 if(max1>max2) { max2=max1; } if(max1<0) { max1=0; } } cout<<"所有子数组的和的最大值是:"<<max2; }
出现的问题:怎样解决用户自己都不知道数组数字个数可以随机输入数组数字的个数问题?
解决的方法:用while语句,可以解决上述问题。
结果截图:
![](https://images2015.cnblogs.com/blog/812000/201604/812000-20160408174139781-1227633967.jpg)
总结:
while语句可以解决事先并不知道数组元素个数的问题;
数据结构要时常温习,编程中有很多地方都用得到,比如这次用的排序方法。
相关文章推荐
- iOS开发之 用第三方类库实现轮播图
- C# .NET弹出窗口大全
- 程序员基础知识
- Android开发请求网络方式详解
- Android 字体设置-Typeface讲解
- mysql数据中计算时间差函数
- 动态规划用法归纳
- 48、Java中定义数组的方法
- 搜索—Problem_1003-Pie
- Hibernate学习笔记(一)【基础配置篇】
- oracle11g安装
- 一个iOS程序员的BAT面试经验
- 白色边框透明背景的自定义图片背景
- storyBoard设置textField的placeholder文字的背景颜色
- Activity启动模式-LaunchMode
- ABP框架Web API跨域问题的解决方案
- 现在项目是只要整合了,周一要全部完成
- 致命的rm命令,用错了后悔一万年
- Jenkins -- Check-out Strategy各选项说明
- linux中进程间如何通信的?