以下の問題が解けません。
わかる方、教えていただけないでしょうか?
・キーボードから3整数を読み込み,小さい順に出力せよ。
ヒント-------------------------------------------------
キーボードから読み込む変数をa,b,c,出力する変数をx,y,z(x<y<z)とするとよい かもしれない。
プログラムの構造は次のようになる。
#include <stdio.h>
int main() {
int a,b,c,x,y,z;
scanf("%d%d%d",&a,&b,&c);
...//ここが本体
printf("%d %d %d\n",x,y,z);
return 0;
}
もちろん,目的が達成されるなら,上の例のようにならなくても良い。
No.1ベストアンサー
- 回答日時:
>ヒント-------------------------------------------------
>キーボードから読み込む変数をa,b,c,出力する変数をx,y,z(x<y<z)とするとよい かもしれない。
の処理を実装するだけです。
a、b、cそれぞれを比較し、小さい順にx、y、zに入れる処理を作成するだけです。
この問題は、「比較」の条件分さえわかれば解けるものです。
「比較の制御文すらわからない」なら、それがわからないとはっきりと質問してください。
No.6
- 回答日時:
>#5さん
>つまり(a>b かつ a>c)場合、または(b>aかつb>c)または(c>aかつc>b)ということ。
3数の大小関係を求めるのに、6回の比較が必要だということですか?
3回でいいはずですけれど…。
No.5
- 回答日時:
qsortを使ってしまえば簡単だろうけど、おそらく出題者の意図としてはif文による条件作成の感じがする。
ゆえに入力されたa,b,cに対してif文で3行、入子構造のif文を書けといっているのではないかな?つまり(a>b かつ a>c)場合、または(b>aかつb>c)または(c>aかつc>b)ということ。単純な繰り返しだけれどif文とその条件作成という観点からすると、面白い問題かな(実作業では使わないだろうけど)。
No.4
- 回答日時:
すでに指摘があるように、キーボードから直接入力する方法は、標準規格では規定されていません。
処理系もそうですが、質問の真意を補足してください。また、通常キーボードから直接読み取れるのは、キーの押下状態やスキャンコード程度です。読み込む整数というのは、入力ポートの生の値やスキャンコードでよいのでしょうか?
> int main() {
> ...//ここが本体
これらから判断してC++だと思いますが、その認識であっていますか?
No.3
- 回答日時:
出題内容は満たすはずだけど、このまま提出するとおそらく先生には怒られる回答例。
No.2さんの指摘はとりあえず置いておきます。#include <stdio.h>
#include <stdlib.h>
int cmpint(const void *p, const void *q) {
return *((int *)p) - *((int *)q);
}
int main() {
int a,b,c,x,y,z;
int array[3];
scanf("%d%d%d",&a,&b,&c);
array[0] = a;
array[1] = b;
array[2] = c;
qsort(array, sizeof(array)/sizeof(int), sizeof(int), cmpint);
x = array[0];
y = array[1];
z = array[2];
printf("%d %d %d\n",x,y,z);
return 0;
}
No.2
- 回答日時:
標準Cおよび標準C++に,キーボードから入力を受け付けるための方法は用意されていません。
# 標準入力はキーボードとは限らない。
このため,まずは環境 (OS,コンパイラ) を特定してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# 至急お願いします。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分母 3 2022/07/19 17:09
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
「指定されたキャストは有効で...
-
足して100になるような乱数のア...
-
(int *)の意味
-
ラップ関数とはどんなものですか?
-
「{ } で囲むだけ」は正しい?
-
C言語 配列と関数の練習問題
-
【C++】関数ポインタの使い方
-
acceptをalarmでタイムアウトさ...
-
C言語で三目並べをするプログラ...
-
【C言語】円の面積を求めるプロ...
-
任意の文字列のアルファベット...
-
C#の質問
-
system関数がうまくいかない
-
c言語
-
if と配列の組み合わせ
-
C++でvectorにテキストファイル...
-
日数チェックプログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
実数の整数部,小数部の取得
-
std::set<int> で、ある値が何...
-
C言語 エラーの原因がわからな...
-
c言語
-
system関数がうまくいかない
-
C++でvectorにテキストファイル...
-
acceptをalarmでタイムアウトさ...
-
if と配列の組み合わせ
-
return 1L
-
「{ } で囲むだけ」は正しい?
-
(マルチスレッド)_beginthrea...
-
PowerShellがうまくいかない
-
このプログラミング誰か教えて...
おすすめ情報