这是我的程序示例。我包括其他if语句中所有字母的陈述。继续之前的10是第4和第5列。
我得到的第一个错误是Invalid radix specifier "or" at (2) for typeless constant at (1)
,其中2是OR中的O,1是" A"中的第一个引号," B&#34 ;等等。
第二个错误是说同样的事情,但是在" a"," b"等等的第二个引号中有1个。
我的第三个也是最后一个错误是Invalid form for ELSE IF statement at (^)
说胡萝卜在每个陈述的末尾。
我假设这些与我只是使用错误的If,ELSE IF和DO语法这一事实有关;但是在互联网上搜索并没有帮助我找到正确的语法。
program p1
integer j
integer sentenceSize
character sentence*72
print *, "Enter the size of the sentence you are converting: "
read *, sentenceSize
print *, "Enter the sentence you would like to convert: "
read(*,'(A)') sentence
DO 10, sentenceSize
IF (sentence(i:i) == "A" OR "a")
print *, ".-"
ELSE IF (sentence(i:i) == "B" OR "b")
print *, "-..."
ELSE IF (sentence(i:i) == 'C' OR 'c')
print *, "-.-."
ELSE IF (sentence(i:i) == "D" OR "d")
print *, "-.."
print *, " "
10 continue
答案 0 :(得分:0)
程序中存在许多语法错误。您的DO循环缺失i = 1。你需要把它放在IF和ELSE IF语句之后。逻辑OR是.OR。每个OR'd项必须是表达式(x == a .OR.y == c)not(x == a .OR.c)。您需要使用和END IF终止IF-ELSE-THEN块。并且您的程序必须以END结束。
$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE=fr_FR.UTF-8
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
$ node -pe process.versions.icu
57.1