• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Tiny Basic 日本語)

Tiny Basic日本語を利用した文字列の後ろから表示

このQ&Aのポイント
  • Tiny Basic for Windows v1.21を利用して、入力した日本語を後ろから表示するプログラムを作成したいです。
  • 行番号130の処理では、アルファベットを後ろから表示することができましたが、ひらがなや漢字はうまく表示できません。
  • アルファベット以外の文字についても後ろから表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.1

質問のプログラムでは、名前で入力した文字が逆順にはならないですよ。 アルファベットで入力しても、このプログラムではなりません。 下記のプログラムでは「125」~「140」のように、お名前の文字数「LEN(U$)」から、最初の1文字目までを、1文字ずつ取り出しています「MID$(U$,J,1)」。 FOR J = LEN(U$) TO 1 STEP -1で、逆順にしています。例えば、U$が6文字の場合、「LEN(U$)」の値は「6」、STEP -1なので、1つずつ「6」から「1」まで減って行きます。 そして、そのお名前を1文字ずつ、逆順に表示したのち、すなわち、「NEXT J」のあとに「PRINT "さん ";」を置くことで、お名前を出力したのち、「さん 」が出力されます。 10 INPUT "お名前は?: ", U$ 20 PRINT "こんにちは "; U$ ;" さん" 30 INPUT "丸がいくつ欲しいですか?: "; N 35 S$ = "" 40 FOR I = 1 TO N 50 print "○" 55 NEXT I 70 INPUT "もう一度やりますか(Y/N)? "; A$ 80 IF LEN(A$) = 0 THEN GOTO 70 90 A$ = LEFT$(A$, 1) 100 IF (A$ = "Y") OR (A$ = "y") THEN GOTO 30 110 PRINT "さようなら " 111 INPUT "挨拶はなん回: "; N2 120 FOR I = 1 TO N2 125 FOR J = LEN(U$) TO 1 STEP -1 130 PRINT MID$(U$,J,1); 135 NEXT J 140 PRINT "さん "; 145 NEXT I 150 PRINT 160 PRINT "さようなら" 170 END 以上でどうでしょうか?

situmonn9876
質問者

お礼

実行結果の間違いの指摘と、プログラムありがとうございます。

関連するQ&A