- 締切済み
C++言語の課題です
C++言語の課題です 4つの数字をキーボードから入力させ、入力が終わったら、その最大値を表示するプログラムを作成しなさい という問題が出ました。 4つの数字を入力して 読み込むまではわかりましたが 条件分岐のところから わからなくなりました。 使ってる文法は printf scanf if elseif などです どなたか教えて下さい
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- ahco_i-o
- ベストアンサー率0% (0/1)
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)
> 一行ごとに簡単に説明をしていただけませんか? なんとなく理解できたとのことなので、理解できたことを自分の言葉で説明してみてください。
- jacta
- ベストアンサー率26% (845/3158)
> 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); } こんな感じでしょうか?
- D-Matsu
- ベストアンサー率45% (1080/2394)
printfとかscanfとか使っているところを見るとC++ではなくCのような気がしますが、それはさておき。 課題レベルで推測される模範解答上、あと欲しいのは ・配列 ・for ですね。 あと、"elseif"という文法はC/C++にはありません。 C/C++では"else"と"if"の組み合わせで成立しています。 #まぁ配列とforを使ったらelseは要らなくなりますが
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
#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)
あなた自身でこの処理をするとしたら, どのようにしますか?
補足
ありがとうございます なんとなく理解することが出来ました よかったら 一行ごとに簡単に説明をしていただけませんか? お願いします。