社区
C语言
帖子详情
求教中科院的上机题2
zhangpeng12340302
2012-03-22 09:21:30
现列出第二个题,希望大牛给出解答:
c/c++不限
有一个给一个数字字符串,从中截取一个长度为五位的最大的数
...全文
146
12
打赏
收藏
求教中科院的上机题2
现列出第二个题,希望大牛给出解答: c/c++不限 有一个给一个数字字符串,从中截取一个长度为五位的最大的数
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wasd6081058
2012-03-24
打赏
举报
回复
先用一个循环找出字符串中最大的数的下标(可能不止一个,假设有n个),然后把5位数给提取出来,在n个里面找出最大的就OK了。
JieTouLangRen
2012-03-24
打赏
举报
回复
[Quote=引用 7 楼 mengrongqing20 的回复:]
引用 6 楼 abc814251901 的回复:
一串数字字串,要找最大的五位数,那直接找一个最大的个数,让后看从这个数开始是不是够五位,够了就是最大的了啊
虽然可以解决一些例子 但不是很通用 当最高为相同 还需要再判断后四位 依次类推
[/Quote]
如果最高位只有一个,那么直接就得到结果了
如果最高位有多个,意味着仅仅比较最高位无法得到结果,这时可以比较第四位、第三位,直到比较出大小;也可以将这几个最高位相同的五位数都写出来进行比较,这样多了一个得到五位数的过程,但是减少了比较次数。。
sjjwind
2012-03-24
打赏
举报
回复
动态规划,O(n)的算法
d[x]表示从x-5到x的五个元素的值,
d[x] = d[x-1]+arr[x]-arr[x-5];
然后用一个max去记录d中最大的值就可以了。
zhangpeng12340302
2012-03-24
打赏
举报
回复
[Quote=引用 1 楼 merlinfang 的回复:]
好歹也是中科院的学生,这也不会
[/Quote]
大哥,你写写试试啊!
zhangpeng12340302
2012-03-24
打赏
举报
回复
[Quote=引用 5 楼 mengrongqing20 的回复:]
我理解的是5个连续的数字,下面可在VC下执行
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
string strInput = "";
while(1) //循环输入
{
cout << "请输入字……
[/Quote]
厉害,这样做就对了!
mengrongqing20
2012-03-24
打赏
举报
回复
[Quote=引用 6 楼 abc814251901 的回复:]
一串数字字串,要找最大的五位数,那直接找一个最大的个数,让后看从这个数开始是不是够五位,够了就是最大的了啊
[/Quote]
虽然可以解决一些例子 但不是很通用 当最高为相同 还需要再判断后四位 依次类推
老鼠期待爱
2012-03-22
打赏
举报
回复
一串数字字串,要找最大的五位数,那直接找一个最大的个数,让后看从这个数开始是不是够五位,够了就是最大的了啊
mengrongqing20
2012-03-22
打赏
举报
回复
我理解的是5个连续的数字,下面可在VC下执行
#include "stdafx.h"
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
string strInput = "";
while(1) //循环输入
{
cout << "请输入字符串, 退出输入Exit:"; //提示输入字符串
cin >> strInput;
if (strInput == "Exit")
{
break;
}
if (strInput.size() < 5) //输入长度小于5时,提醒
{
cout << "输入字符串长度应该大于等于5"<<endl;
continue;
}
string::const_iterator iterBegin = strInput.begin(); //用一对迭代器表示5为字符
string::const_iterator iterEnd = iterBegin;
for (int i=0; i<5; i++) iterEnd++; //strEnd指向最后一位
string strTemp; //用于保存临时的5为字符
int nTemp; //用于保存临时数
int nMaxNum = 0;
while (1)
{
strTemp.assign(iterBegin, iterEnd); //赋予临时的5为字符串
nTemp = atoi(strTemp.c_str());
nMaxNum = nMaxNum > nTemp ? nMaxNum : nTemp; //去最大
if (iterEnd == strInput.end()) //已经到达字符串末尾,退出循环
{
break;
}
iterBegin ++; //向前移位
iterEnd ++;
}
cout << "最大五位数为:"<< nMaxNum <<endl;
}
return 0;
}
yulisheng
2012-03-22
打赏
举报
回复
int strncmp(char *str1, char *str2, int maxlen);
东大坡居士
2012-03-22
打赏
举报
回复
很经典的题目啊,GOOGLE一下很多:
遍历用一个stuct存储最大值及起始位置
flowingfirefly
2012-03-22
打赏
举报
回复
[Quote=引用 1 楼 merlinfang 的回复:]
好歹也是中科院的学生,这也不会
[/Quote]
中科院?在哪?我也想去!
merlinfang
2012-03-22
打赏
举报
回复
好歹也是中科院的学生,这也不会
offer选择!求hxd们帮忙选选 引流华为字节比亚迪707
赛力斯科技中心 自架公司,看这就够了 赛力斯科技中心 秋招进度记录 秋招碎碎念 tplink联洲一面踩雷帖 网上看到的今年笛子的消息不保真 华为不用泡池子咯! 想去华为 比亚迪一面 【10.15更新】24届求职黑名单汇总贴 华为主管面挂
阿里Lazada25届实习生春25届实习生春招来啦!!!
04-08买个会员,再造一份非技术岗的简历,再造一份英文的,改了一下午,投投投,人已疯这么多公司,总。中移信息技术面试进度,9号一面,13号统一笔试,二面还没有收到,有uu收到二面通知了吗?【岗位实践范围】1.设计、开发与维护基于RISC-V芯片的配套软件工具链,包括预处理器,编译器,链接。嘿嘿刚刚部门mentor加了俺wx,又问了腾讯部门哥哥流程情况(说已经录用了),应该可以开香槟啦,腾。#对未来的工作有什么期待# 打工到实现吃利息能养活自己,不多,每个月三千就行了,到时候直接躺平每天做。
计算机学院教师老带新总结,教师以老带新个人工作总结三篇
教师以老带新个人工作总结三篇教师专业发展是教师成长的重要内容和途径,下面是小编收集的教师以老带新个人工作总结,欢迎阅读。教师以老带新个人工作总结120xx年8月来到滨海学院从教,转眼一个学期结束了,回想本学期各项工作,在系部领导及各位老师的关怀和帮助下,特别是在老教师薛老师的耐心指导和积极带动下,我在各方面有了较大提高,总结如下:一、基本实现角色转换社会对教师综合素质的要求是全面的,如何快速进入教...
《管理的实践》读书心得&摘录
1954年 出版《管理的实践》,奠定彼得·德鲁克大师的地位,并标志着管理学的诞生; 《管理的实践》提供了观念、原则和工具,是一套极具系统化的管理知识。这本书问市后,不仅在美国一炮而红,而且在全球各地也都非常成功,包括在欧洲,拉丁美洲,尤其在日本更是备受重视。日本人认为这本书的观念奠定了他们经济成功与工业发展的基石。 德鲁克以其深厚的人文素养,强调人的理想性、价值观及判断力,成了组织绩效表现的关键资源。因此,惟有找对人,摆对位置,从旁协助,才可能有“对”的成果。德鲁克对人总是以正面(用人之长)评价,对事则
<<异类>>之豆瓣读后感
一位移民加拿大的高中同学在2012年回国探亲,聚会时曾推荐了《异类--不一样的成功启示录》这本书,英文书名叫《Outliers - the story of success》,一直没有系统地看完。在整理Omnifocus的读书列表时又发现了此书,还是趁这个机会把它读完吧。Outlier在统计学中是指与其它样本显著区别的样本,也称为离群值、异值。这里指异类、与众不同的人,有人把书名翻译为《非同凡响》...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章