• 締切済み

C++言語の課題です

C++言語の課題です 4つの数字をキーボードから入力させ、入力が終わったら、その最大値を表示するプログラムを作成しなさい という問題が出ました。 4つの数字を入力して 読み込むまではわかりましたが 条件分岐のところから わからなくなりました。 使ってる文法は printf scanf if elseif などです どなたか教えて下さい

みんなの回答

  • ahco_i-o
  • ベストアンサー率0% (0/1)
回答No.6

scanf, printf 使ってるんなら、C++ではなくC言語なのでしょう。 int i; int dt; int max = 0; for(i=0;i<4;i++) { scanf( "%d", &dt ); if(max < dt) max = dt; } printf("max = %d \n", max); 単純です。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.5

> 一行ごとに簡単に説明をしていただけませんか? なんとなく理解できたとのことなので、理解できたことを自分の言葉で説明してみてください。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

> 4つの数字を 数値ではなく、「数字」というのが引っ掛け問題ですね。 > キーボードから入力させ キーボードから入力する一般的な方法はありません。 > その最大値を表示する 表示する一般的な方法もありません。 入力や表示の部分がどうしても処理系に依存してしまいますが、処理系不明なので一般的な回答は不可能です。 一応、Visual C++の場合の例を挙げると... #include <conio.h> #include <cctype> int main() {  int max = -1;  for (int i = 0; i < 4; i++)  { retry:   while (!::_kbhit())    ;   int c = ::_getch();   if (!std::isdigit(c))    goto retry;   ::_putch(c);   if (c > max)    max = c;  }  ::_cprintf("\n%c\n", max); } こんな感じでしょうか?

SAKAE48
質問者

補足

ありがとうございます なんとなく理解することが出来ました よかったら 一行ごとに簡単に説明をしていただけませんか? お願いします。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.3

printfとかscanfとか使っているところを見るとC++ではなくCのような気がしますが、それはさておき。 課題レベルで推測される模範解答上、あと欲しいのは ・配列 ・for ですね。 あと、"elseif"という文法はC/C++にはありません。 C/C++では"else"と"if"の組み合わせで成立しています。 #まぁ配列とforを使ったらelseは要らなくなりますが

回答No.2

#include <iostream> #include <vector> #include <iterator> #include <algorithm> using namespace std; int main() {  vector<int> input(istream_iterator<int>(cin),(istream_iterator<int>()));  if ( input.size() >= 4 )   cout << *max_element(input.begin(), input.begin()+4) << endl; }

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

あなた自身でこの処理をするとしたら, どのようにしますか?

関連するQ&A