Fortran Coder

查看: 760|回复: 4
打印 上一主题 下一主题

[求助] select case 例题

[复制链接]

8

帖子

5

主题

0

精华

入门

F 币
37 元
贡献
21 点
跳转到指定楼层
楼主
发表于 2024-7-2 18:19:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
help, 为什么输出不了我规定的“优秀”和“合格”呢??

fa28005f8ea7f2bdef52891f5ae8caf.png (10.71 KB, 下载次数: 47)

fa28005f8ea7f2bdef52891f5ae8caf.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

168

帖子

2

主题

1

精华

大师

Vim

F 币
1021 元
贡献
486 点

规矩勋章

沙发
发表于 2024-7-2 20:03:24 | 只看该作者
本帖最后由 Transpose 于 2024-7-2 20:06 编辑

一个汉字一般需要长度为2的字符串才能存储,因此这里你需要定义grade的len至少大于4,
character表示的是character(len=1),这里至少需要character(len=4)

8

帖子

5

主题

0

精华

入门

F 币
37 元
贡献
21 点
板凳
 楼主| 发表于 2024-7-2 22:40:10 | 只看该作者
Transpose 发表于 2024-7-2 20:03
一个汉字一般需要长度为2的字符串才能存储,因此这里你需要定义grade的len至少大于4,
character表示的是ch ...

感谢解惑 ,可不清楚为何修改character(len=4)后,结果输出还是“?”

168

帖子

2

主题

1

精华

大师

Vim

F 币
1021 元
贡献
486 点

规矩勋章

地板
发表于 2024-7-3 08:07:25 | 只看该作者
好像记错了,一个汉字是3个,改成character(len=6)然后最后的格式也要改成a6

101

帖子

0

主题

0

精华

大师

F 币
670 元
贡献
299 点

规矩勋章元老勋章新人勋章

5#
发表于 2024-7-3 08:15:50 | 只看该作者
本帖最后由 胡文刚 于 2024-7-3 08:18 编辑

1个汉字是2字节还是3字节,还是4字节。取决于编码方式,对你的问题,我觉得长度定义个20也是OK的。
字符串长度定义要足够,并考虑一定的冗余。

此外,你输出的时候格式符也不能再写 a2 了,就只写 a 就行了。
write(*,"('Grade:',a)") trim(grade)

顺便说,发帖的时候代码直接复制粘贴文本就行了,干嘛要截图呢?截图都不能复制其中的代码片段。


天之道,损有余而补不足
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-12-23 22:18

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表