24小时热门版块排行榜    

CyRhmU.jpeg
查看: 725  |  回复: 19
当前主题已经存档。

yudf65

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
我晕啊!
你这个是不是在鄙视大家的智商啊!
第一个倒数第三行后面必须要有表达式才行啊!
你的程序很雷
为什么我的眼里满含泪水?因为我对这土地爱的深沉
11楼2009-08-13 15:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水


小木虫(金币+0.5):给个红包,谢谢回帖交流
第一个问题正确的代码应该是:
CODE:
character A*4,B*6,C*5
DATA A,B,C/'big','middle','small'/
if(A.GT.B)then
  if(A.GT.C)then
    print*,A
  else
    print*,B
  endif
else
  if(B.GT.C)then
    print*,B
  else
    print*,C
  endif
endif
end

运行结果:
CODE:
small

楼主给出的代码有两个地方是错的,第三行GT右边少了个点;倒数第三行应该是endif,而不是else if
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
12楼2009-08-13 15:43:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水


小木虫(金币+0.5):给个红包,谢谢回帖交流
第二个程序有三个问题:
1、第二行应该是external fx,而不应该是external fx,这里fx是外部子函数的名称,由于要作为y=tx(fx,3,2)中的参数,所以必须声明为外部子程序
2、第六行function tx(fun,a,b)最右边的右括号应该是英文的符号,不能用中文的
3、函数子程序function tx(fun,a,b)中a、b没有指明变量类型,所以按I-N法则,应该是实型的,但在主程序中使用整型的3和2,所以编译时会给出警告,但仍然可以运行。
CODE:
program main
external fx
y=tx(fx,3,2)
print*,y
end
function tx(fun,a,b)
tx=(fun(a)-fun(b)/2.0)
end
function fx(x)
fx=x*x
end

因此,用上述程序代码,给出的结果是
0.0000000E+00
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
13楼2009-08-13 15:50:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水

第三个问题,在第五行多了个右括号,20 if(a(1).lt.a(j)) then
楼主写代码太随性了吧
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
14楼2009-08-13 15:55:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

argo

铁杆木虫 (著名写手)

上善若水


小木虫(金币+0.5):给个红包,谢谢回帖交流
第三个问题,第五行应该是20 if(a(i).lt.a(j)) then
第13行应该是if(i.le.3) goto 10
这样,输入4 2 3 5,输出的结果就是2
这个是冒泡法排序的,输出几个数中的最小值。
CODE:
dimension a(4)
read*,a
i=1
10 j=i+1
20 if(a(i).lt.a(j)) then
     t=a(j)
     a(j)=a(i)
     a(i)=t
   endif
j=j+1
if(j.le.4) goto 20
i=i+1
if(i.le.3) goto 10
print*,a(4)
end

楼主,如果你只是为了考试,那就算了,如果以后你还要用这种程序,建议你刚开始时一定要养成良好的编程习惯。
居善地,心善渊,与善仁,言善信,正善治,事善能,动善时。
15楼2009-08-13 16:07:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

calos818

木虫 (著名写手)

新人菜鸟


小木虫(金币+0.5):给个红包,谢谢回帖交流
貌似在比较大小??!!
16楼2009-08-13 16:40:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pzhan1982

金虫 (著名写手)

谢谢各位的指教,因为这些程序都是从书上录入的,本人对程序这部分外行,所以,如果有什么比较雷的问题,请谅解!
17楼2009-08-13 17:26:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)


小木虫(金币+0.5):给个红包,谢谢回帖交流
argo 真有耐心,赞一个先,呵呵……
18楼2009-08-13 17:57:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhoulon

至尊木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by pzhan1982 at 2009-8-10 20:39:
第一个的IF,ENDIF 是如何排的?
character A*4,B*6,C*5
DATA A,B,C/'big','middle','small'/
if(A.GTB)then
if(A.GT.C)then
print*,A
else
print*,B
endif
else
if(B.GT.C)then
print*,B
else
prin ...

倒数第三行的else if错误了,应该为end if
19楼2009-08-18 00:12:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pzhan1982

金虫 (著名写手)

对于:
character A*4,B*6,C*5
DATA A,B,C/'big','middle','small'/
if(A.GTB)then
if(A.GT.C)then
print*,A
else
print*,B
endif
else
if(B.GT.C)then
print*,B
else
prin ...
语句,是比较 A*4,B*6,C*5
还是比较 DATA A,B,C/'big','middle','small'/
????
20楼2009-08-23 10:46:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 pzhan1982 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见