免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: tyguaike

[算法] c语言怎么实现分隔 [复制链接]

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2014-08-19 16:52 |显示全部楼层
本帖最后由 yulihua49 于 2014-08-19 16:56 编辑
noword2k 发表于 2014-08-19 16:47
分割后的数字,要存入一个二维数组吧。
因为输入的文本是未知的,所以这个数组的行数未知,列数未知。
...

你看20楼的程序吧。
比楼主的复杂,要求是从文件里读,每行一个记录,每列以'\t'分割,写到数据库里。
行数不定,列名列数,表名是在文件第一行指定的:
“表名  列名,列名,列名,”
就是说,表名,列名,列数,类型,行数都是不定的,属于泛型编程,你试试。
你用python写一个吧。
我那个已经投产了。
20楼是他的主要部分。

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
发表于 2014-08-19 16:53 |显示全部楼层
回复 25# noword2k
用完即抛的程序?

   

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:50:28
发表于 2014-08-19 16:58 |显示全部楼层
yulihua49 发表于 2014-08-19 16:52
你看20楼的程序吧。
比楼主的复杂,要求是从文件里读,每行一个记录,写到数据库里。
行数不定,列名列 ...

  1. #输入文本文件名,返回一个二维数组
  2. def GetData(file_name):
  3.     data = []
  4.     for line in open(file_name).read_lines():
  5.         data.append([int(i) for i in line.strip().split(",")])
  6.     return data
复制代码

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2014-08-19 17:24 |显示全部楼层
围观“科普哥”证明“C语言擅长字符串处理”。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2014-08-19 17:25 |显示全部楼层
科普哥加油,你最好在证明一下万能的C是怎么代替JavaScript之类的。

论坛徽章:
46
2015小元宵徽章
日期:2015-03-06 15:58:18羊年新春福章
日期:2015-04-14 10:37:422015年亚洲杯之阿曼
日期:2015-04-14 10:41:50NBA常规赛纪念章
日期:2015-05-04 22:32:03NBA季后赛大富翁
日期:2015-05-04 22:34:11菠菜明灯
日期:2015-05-04 22:35:49新奥尔良黄蜂
日期:2015-05-04 22:49:2315-16赛季CBA联赛之广夏
日期:2015-12-11 15:02:342015年亚洲杯之巴勒斯坦
日期:2015-03-04 19:56:562015年亚洲杯之阿联酋
日期:2015-03-04 11:19:04休斯顿火箭
日期:2015-03-02 16:32:11纽约尼克斯
日期:2015-03-02 16:09:04
发表于 2014-08-19 18:20 |显示全部楼层
回复 34# fender0107401
我觉得他所说的  是处于效率的考虑,纯编程方便的话肯定是不行的


   

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2014-08-19 21:03 |显示全部楼层
回复 36# super皮波

不知道这哥们怎么蹈持的,这达芬奇都出来了。。。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2014-08-20 10:35 |显示全部楼层
本帖最后由 yulihua49 于 2014-08-20 11:02 编辑
noword2k 发表于 2014-08-19 16:58

在C++里,可以用vector。不多的几句话。
c有cstl,还有二叉树作为动态数组。
说C不擅长处理字符,看来已经成为一些人的惯性思维,不得不说,这是一个严重的误导。
殊不知,unix,shell是C写的,所有的命令都是字符串,要进行复杂的解析,检索,替换,分类,控制流。。。。集字符串复杂处理之大成。
正则表达式处理是所有词法分析的基础,所有其他语言的正则表达式都源于C。
所有语言的解释系统,编译系统,几乎都是C,这些系统,都是相当复杂的字符串处理了吧?除了C,还有哪个语言擅长呢?可能有几种语言也行,但是既不‘擅’也不‘长’。

我说C可以干计算机能干的一切,你就可以说,给你一个机械计算机,你用C给我试试。。我只好限定冯诺依曼机,只好把古典的,未来的计算机排除掉。
还有,我们说个实用的,抢票软件。
里边有个验证码分析器,你随便用哪个语言,抢得过C吗?

可能有些智能软件,动态语言的工作是C不擅长的,可你不能说C不擅长字符串处理,这个结论太低级了吧?

我在写一些框架工具,深深体会到,C处理字符串,功能强大,全面,方便,高效。
你们那么认为,可能是没有接触到这方面的工作,不了解。这不是你们的错,但是误导新手就不应该了。
你不要把你不了解的东西,说成别人不擅长,对你科普一下是很必要的。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
发表于 2014-08-20 11:10 |显示全部楼层
本帖最后由 yulihua49 于 2014-08-20 11:22 编辑
fender0107401 发表于 2014-08-19 17:25
科普哥加油,你最好在证明一下万能的C是怎么代替JavaScript之类的。

写一个解释器。
你那个玩意儿不就是个字符串吗?解释一下,把该做的事做了,OK?
知道LEX,YACC吗?
为什么要代替你?我可以造就你啊!

反过来,你用随便你喜欢的哪种语言,写一个gcc出来?来证明你更 ‘擅’,那个语言更‘长’?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:50:28
发表于 2014-08-20 13:05 |显示全部楼层
yulihua49 发表于 2014-08-20 10:35
在C++里,可以用vector。不多的几句话。
c有cstl,还有二叉树作为动态数组。
说C不擅长处理字符,看来已 ...

C和C++是两种语言。
你说C++,那就C++。
请用C++实现这个函数,输入一个文本文件名,文本格式如LZ所给的那样,返回一个行数、列数不定的二维数组。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP