| 查看: 1725 | 回复: 23 | |||
[交流]
【求助】如何实现数字紧贴字母输入
|
|
H 1 H 2 H 3 H 4 H 5 H 6 H 7 H 8 H 9 H 10 H 11 H 12 请教前辈,如何让后面的数字紧贴着字母输入呢后面还有几百行 |
» 猜你喜欢
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有6人回复
2025冷门绝学什么时候出结果
已经有4人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有8人回复
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有5人回复
论文投稿,期刊推荐
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
孩子确诊有中度注意力缺陷
已经有14人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
【求助】光栅重构DLP(Discrete Layer Peeling)模型
已经有2人回复
【资源】催化剂制备中浸渍(等体积浸渍)不断改进
已经有151人回复
【求助】帮忙看一段程序
已经有9人回复
【讨论】80后”创业者何以前仆后继
已经有0人回复
【分享】巨牛总结:搞有机必须学会的合成检索方法
已经有169人回复
» 抢金币啦!回帖就可以得到:
我的现状交流,续:老公辞职读博,我一个人白天工作晚上带孩子,真的累啊!
+1/462
坐标深圳,诚征女友
+1/160
硫化物全固态电池的产业化破局:手套箱如何实现全线稳定制造
+1/84
加拿大/英属哥伦比亚大学曹彦凯课题组招收全奖博士/博后 [机器学习/优化/控制方向]
+1/84
天津大学精密测试技术及仪器全国重点实验室柔性电子技术实验室专任副研究员招聘启事
+1/83
招收26年资源与环境领域、生物质生物转化、生物技术等方向博士研究生
+1/79
Call for papers,征稿
+1/57
数学与应用数学、非线性动力学、计算流体力学、控制工程、岩石力学相关专业博士招生
+1/47
澳门科技大学2026年数学博士招生—杨钧翔助理教授计算物理与数学课题组
+1/44
鄢勇课题组2026年拟招收项目聘用人员1名,方向:1. 具身智能;2. 智能感知;3. 忆阻器
+1/35
澳门科技大学2026年数学博士招生——计算物理与数学课题组: 相场与计算流体动力学
+1/13
长江大学武汉校区诚招工程热物理、油气、电气等新能源博士-2025
+1/10
哈尔滨工业大学(深圳)赵怡潞课题组诚招博士后
+1/10
长江大学武汉校区诚招工程热物理、油气、电气等新能源博士-2025
+1/9
【陕西师范大学】催化化学课题组2026年招收博士后/讲师/副高
+1/9
东华大学 唐正 课题组诚招2026年博士研究生-有机半导体材料与器件等
+1/8
香港城市大学 Microsystems and Semiconductor Technology Lab 博士生招生启事
+1/5
北理工柔性电子国家杰青团队招【博士后】【博士】【科研助理】
+1/5
澳大利亚南昆士兰大学(UniSQ)量子点课题组 招收CSC全奖博士生
+1/4
CSC 因斯布鲁克大学计算机系 联培/攻博
+1/3
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xk6891(金币+5):谢谢前辈,问题解决了。用了第二种方法 2011-01-12 10:32:06
余泽成(金币+3):谢谢参与应助! 2011-01-13 19:47:34
小木虫(金币+0.5):给个红包,谢谢回帖交流
xk6891(金币+5):谢谢前辈,问题解决了。用了第二种方法 2011-01-12 10:32:06
余泽成(金币+3):谢谢参与应助! 2011-01-13 19:47:34
|
program align_left_output_1 do i=1,200 L=int(log10(i*1.0))+1 write(*,100) i enddo 100 format('H'I end program program align_left_output_2 character*8 tmpchar do i=1,200 write(tmpchar,'(I8)') i write(*,*) 'H'//adjustl(tmpchar) enddo end program 第一种方法形式简单,容易理解。但变宽度输出依赖于编译器,可移植性不好;而且用到了对数运算,在数据量很大时效率较低。 第二种方法借用了临时字符串做内部文件,效率可能更高一些。 |
2楼2011-01-12 09:17:49
3楼2011-01-12 10:37:14
4楼2011-01-12 13:49:20
5楼2011-01-12 14:13:53
6楼2011-01-12 20:44:29
7楼2011-01-13 08:49:44
8楼2011-01-13 09:44:55
|
Originally posted by xioooli at 2011-01-13 09:44:55: 你的文件如果都输出好了,并且保存在 file 里面的话,到 shell 里面运行这个命令就搞定。 谢谢你啊,哈哈 |
9楼2011-01-13 10:13:10
|
Originally posted by uiui at 2011-01-12 13:49:20: 在call random_seed时不要加参数 请教个问题,用fortran读取文件编译通过,但是读取的时候出现这个错误“Fortran runtime error: End of file”,贴上说在文本的最后敲enter,但是没解决(昨天成功读取了,今天又不行了) 参考的是这个帖子http://muchong.com/bbs/viewthread.php?tid=2760897里面的code |
10楼2011-01-13 10:19:56
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2): 谢谢参与应助! 2011-01-19 12:39:23
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2): 谢谢参与应助! 2011-01-19 12:39:23
|
Originally posted by xk6891 at 2011-01-13 10:19:56: 请教个问题,用fortran读取文件编译通过,但是读取的时候出现这个错误“Fortran runtime error: End of file”,贴上说在文本的最后敲enter,但是没解决(昨天成功读取了,今天又不行了) 参考的是这个帖子[ur ... 在 read 中加一个选项,告诉程序当遇到 end of file 时干什么…… |
11楼2011-01-13 10:25:59
|
Originally posted by snoopyzhao at 2011-01-13 10:25:59: 在 read 中加一个选项,告诉程序当遇到 end of file 时干什么…… 还是不明白,您能否再细致明示一下,是read(……)括号当中的什么选项。 ![]() 这个帖子http://forum.simwe.com/viewthread.php?tid=852737有时候成功,我把里面第一个程序中read(100)改成了*,昨天成功了几次,但是修改成要读我的数据数目时,就失败了 ,没看懂[ Last edited by xk6891 on 2011-1-13 at 11:15 ] |
12楼2011-01-13 11:09:00
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流
|
Originally posted by xk6891 at 2011-01-13 11:09:00: 还是不明白,您能否再细致明示一下,是read(……)括号当中的什么选项。 ![]() 这个帖子http://forum.simwe.com/viewthread.php?tid=852737有时候成功,我把里面第一个程序中read(100)改成了 ... 这个论坛我访问不了,没有帐号,呵呵…… 你把你的问题在这里描述一下…… |
13楼2011-01-13 11:21:43
|
Originally posted by snoopyzhao at 2011-01-13 11:21:43: 这个论坛我访问不了,没有帐号,呵呵…… 你把你的问题在这里描述一下…… 这是帖子上的内容 说明:我不知道你的文件里面的具体格式,所以只能用格式语句100来表示了,具体自己弄吧。我下面这个程序是把文件里面的所有数据都读取出来,然后用了一个do循环,将你要的第三列数据赋值给了b数组,不知道是不是你想要的。implicit real*8 (a-h,o-z) dimension a(3,7),b(3,1) open (1,file='shuju.dat',form='formatted',status='unknown') do i=1,3 read (1,100) (a(i,j),j=1,7) end do close (1) do i=1,3 b(i,1)=a(i,3) end do end 复制代码 为的是读取这组数据中的第三列 例如这样一个文件: 1 2 3 4 5 u 1 2 3 6 5 x 55 2 2 3 6 9 5 4 5 如果只想读入其中第三列,也就是第三个空格(backspace)处的数字,如何实现呢? 谢谢!!! 对于fortran对文本数据操作没有看懂,觉得文本操作时read write里面很多选项,但是貌似作用不大,是这样么 [ Last edited by xk6891 on 2011-1-13 at 11:30 ] |
14楼2011-01-13 11:28:53
15楼2011-01-13 11:44:30
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
xk6891(金币+8):谢谢专家的帮助,小生感激不尽~~ 2011-01-13 13:44:48
小木虫(金币+0.5):给个红包,谢谢回帖交流
xk6891(金币+8):谢谢专家的帮助,小生感激不尽~~ 2011-01-13 13:44:48
|
program main real a,b dimension a(3,7),b(3,1) open (17,file='data.dat',status='old') do i=1,3 read (17,*) (a(i,j),j=1,3) end do close (17) open (18,file='fort.13',status='unknown') do i=1,3 b(i,1)=a(i,3) write(18,*)b(i,:) end do close(18) end |
16楼2011-01-13 13:27:10
17楼2011-01-13 13:43:30
★
小木虫(金币+0.5):给个红包,谢谢回帖交流
小木虫(金币+0.5):给个红包,谢谢回帖交流
|
这样写可能更 fortran 90 一些,呵呵…… program main implicit none integer, dimension(3) :: b integer :: i, ios character(len=80) :: line open (17,file='data.dat',status='old') open (18,file='fort.13',status='unknown') i=0 do i=i+1 read(unit=17,fmt='(a)', iostat=ios) line if (ios < 0) exit read(line,'(4X,I1)') b(i) write(18,*) b(i) enddo end program main |
18楼2011-01-13 13:50:11
19楼2011-01-13 13:53:32
20楼2011-01-13 14:14:43
21楼2011-01-13 19:59:40
★ ★
jjdg(金币+2): 感谢参与 2011-06-17 22:09:03
jjdg(金币+2): 感谢参与 2011-06-17 22:09:03
|
Originally posted by snoopyzhao at 2011-01-13 19:59:40: 我觉得 90 的话,入门可以看 “fortran 90 编程指南”,袁驷,叶康生译,高等教育出版社出版的。但有些术语可能翻译的比较别扭…… 好的,找来看一看 fortran对于格式的要求很严格,刚开始读取数据的时候出现的是 At line 10 of file tiH.f90 (unit = 17, file = 'wa_xyz.dat') Fortran runtime error: End of file 这个错误修改之后,对于读取和写入数据采取不同的格式之后,看出了问题所在,下面是 [code:] program main implicit none integer i,j character B real A dimension B(768),A(768,3) open(17,file='wa_xyz',status='old') do i=1,768 read (17,*) B(i),A(i,1),A(i,2),A(i,3) end do close(17) open(18,file='nem_wa_xyz',status='unknown') do i=1,768 if(mod(i,3)/=0)then write(18,*)(B(i),A(i,j),j=1,3) end if end do close(18) stop end program [code:] 读取这样一段数据: O 3.668000 10.082000 15.904000 H 3.224000 10.451000 15.101000 H 3.092000 10.379000 16.627001 O 5.186000 16.695999 12.072000 H 6.083000 16.979000 11.816000 H 5.337000 15.832000 12.490000 O 3.786000 16.318001 1.310000 H 3.781000 15.388000 1.196000 H 4.528000 16.580000 0.781000 O 6.205000 6.991000 18.441999 H 6.782000 7.347000 19.152000 H 5.309000 7.062000 18.799999 O 16.125999 14.701000 4.577000 H 16.070000 14.272000 3.726000 ……………………………………………………………………………… 得到的如下 O 3.6680000 O 10.082000 O 15.904000 H 3.2240000 H 10.451000 H 15.101000 O 5.1859999 O 16.695999 O 12.072000 H 6.0830002 H 16.979000 H 11.816000 O 3.7860000 O 16.318001 O 1.3099999 H 3.7809999 H 15.388000 H 1.1960000 O 6.2049999 O 6.9910002 O 18.441999 H 6.7820001 H 7.3470001 H 19.152000 O 16.125999 O 14.701000 O 4.5770001 H 16.070000 H 14.272000 H 3.7260001 O 2.7500000 O 8.8439999 O 9.6289997 H 2.1099999 H 8.2900000 H 9.9980001 O 10.674000 O 8.9090004 O 4.9860001 H 10.998000 H 8.8710003 H 5.9320002 O 2.00000009E-03 O 5.6669998 O 14.591000 H 0.48300001 H 5.9899998 H 13.830000 ……………………………………………………………………………… 这就可以明显的看出问题是出在哪里了,本来读取数据的时候采用的是和写入一样的方式(B(i),A(i,j),j=1,3),一直出现上面的错误,记录一下,以备日后学习汲取教训 [ Last edited by xk6891 on 2011-3-20 at 13:20 ] 进一步修改成这样就顺多了,首先要能读,然后才是写入数据 code: program main implicit none integer i,j character B real A dimension B(768),A(768,3) open(17,file='wa_xyz',status='old') do i=1,768 read(17,*)B(i),A(i,1),A(i,2),A(i,3) end do close(17) open(18,file='nem_wa_xyz',status='unknown') do i=1,768 if(mod(i,3)/=0)then write(18,"(A3,3(F16.6))" B(i),A(i,1),A(i,2),A(i,3)end if end do close(18) stop end program code: 得到的结果 O 3.668000 10.082000 15.904000 H 3.224000 10.451000 15.101000 O 5.186000 16.695999 12.072000 H 6.083000 16.979000 11.816000 O 3.786000 16.318001 1.310000 H 3.781000 15.388000 1.196000 O 6.205000 6.991000 18.441999 H 6.782000 7.347000 19.152000 O 16.125999 14.701000 4.577000 H 16.070000 14.272000 3.726000 O 2.750000 8.844000 9.629000 [ Last edited by xk6891 on 2011-3-20 at 13:25 ] |
22楼2011-01-13 23:56:56
23楼2011-01-14 07:36:37
24楼2011-06-17 16:56:36













回复此楼

,没看懂
想看一看
B(i),A(i,1),A(i,2),A(i,3)