• 締切済み

C言語

(a) キーボードから入力された文字列をそのままディスプレイに表示するプログラムを作成しなさい。 という問題 #include<stdio.h> main() { char word[1000]; /*文字型の変数の宣言*/ scanf("%s", word); /*キーボードから文字列を入力*/ printf("%s\n", word); /*入力した文字列を出力*/ } と作りましたがこれではコンソール中で文字を打ってからエンターを押さないといけないからといわれ再提出になってしまいました。 エンターを押さないでそのまま出力するということは、できるのでしょうか? あと自分の作ったプログラムではスペースや改行を使うことができないから使えるようにしろと言われてましたがそれわできますか? 変換仕様をかえればいいのですか ほかにもかえる所はありますか?

みんなの回答

回答No.7

include<stdio.h> int main() { char word[1000]; /*文字型の変数の宣言*/ scanf("%s",& word); /*キーボードから文字列を入力*/ return 0; } でどうでしょうか?

回答No.6

getche()を使ってくださいね。 #include <conio.h> getche();

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.5

・enterを押さずに入力するのは、Linuxだとcurses/ncursesライブラリを使えば出来ますが、質問者さんの力では難しいでしょう。 ・他には、system() で、stty コマンドを起動して設定変更する方法もありますが、これも難しいでしょう。 ・scanfは初心者が絶対に使ってはいけない関数です。もし、「入力にはscanfを使う」と書いてある本を読んだのならその本は捨てましょう。おそらく他にも間違いがたくさんあるはず。 とりあえずは、getchar() と putchar() を使うプログラムを書いて、「自分のわかるのはここまでです」と言って提出するのがいいと思います。

回答No.4

 処理系依存。 開発、実行環境を書くこと。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

> scanfを使わないと読み込みはできないのではないのですか 標準入力から読み取るときに使えるのは scanf() だけとは限りません。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.2

> こんな感じでしょうか? コンパイル~実行してみましたか? ちなみに、scanf()を使っている限り、 先生の要求には応えられないです。

p-__-p
質問者

補足

すいません今家でコンパイラないのでコンパイルできないです。しかも学校はLinuxで家はwindowsなので... あとscanfを使わないと読み込みはできないのではないのですか?

  • _himajin_
  • ベストアンサー率65% (128/195)
回答No.1

# 課題と言うことなので一応ヒントだけにしときます。 1文字受け取ったら1文字出力するループを作れば良いと思いますよ。

p-__-p
質問者

補足

つまり%cにしてwhileを使えばいいのでしょうか? #include<stdio.h> main() {   char word[1000]; while {    scanf("%c", word);    printf("%c\n", word); } } こんな感じでしょうか?

関連するQ&A