- ベストアンサー
二つの整数値の大小比較
二つの整数を読みこんでif文でつくるんですが、どうにもできません。 ↓のような感じで入出力すればいいそうです。 二つの整数を入力してください 整数A :83 整数B :45 大きい方の値は83です。 小さい方の値は45です。 そして同じ数字の場合は↓ 二つの整数を入力してください 整数A :17 整数B :17 両方とも17です。 どなたか参考となるプログラムを教えてください!!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
★アドバイス >if→elseif→elseの順で使ってみましたがエラー出ます。 ↑ エラーが出て当然です。 C言語には『elseif』というキーワードはありません。 VBS などと混同していませんか? 正しくは『else if』となります。つまり『else』『空白』『if』です。 ・それから if、else if、else にブロックが必要です。 こちらも VBS とは違いますので複文を記述する場合はカッコが必要です。 ・あと printf() 文で変数に『&』演算子をつけていますが必要ありません。 『&』演算子を付けるとポインタの値を表示する意味になります。 この3点を踏まえて回答者 No.1 さんの補足を書き換えると下のようになります。 修正版: #include <stdio.h> int main( void ) { int a, b; printf( "整数A :" ); scanf( "%d", &a ); printf( "整数B :" ); scanf( "%d", &b ); if ( a > b ){ printf( "大きい値%dです\n" , a ); printf( "小さい値%dです\n" , b ); } else if( a < b ){ printf( "大きい値%dです\n" , b ); printf( "小さい値%dです\n" , a ); } else{ printf( "両方とも%dです\n" , a ); } return 0; } その他: ・上記の修正版は回答者 No.2 さんの提示しているソースそのものです。 確認箇所は (1)『elseif』→『else』『空白』『if』とすること (2)if、else if、else に括弧をつけること (3)printf文の引数『a』『b』に『&』はつけないこと の3点を修正すれば正しくコンパイルできます。 ・以上。VBS などとは違うので注意して下さい。
その他の回答 (3)
- crew21
- ベストアンサー率26% (58/222)
いくらなんでもこんな簡単なプログラムが「どうにもできない」とは思えない。 仮にできないにしても、どの程度まで作ったか、自分なりに整理してここに示し、どの辺がわからないかを書くべきです。 どんな丁寧に書いたって20行くらいのプログラムのはず。 これじゃ単に答えまる教えしてと言ってるのと同じです。
- mac_res
- ベストアンサー率36% (568/1571)
#include <stdio.h> int main(void) { int a, b; printf("整数A :"); scanf("%d", &a); printf("整数B :"); scanf("%d", &b); if (a > b) { printf("大きい値%dです\n", a); printf("小さい値%dです\n", b); } else if (a < b) { printf("大きい値%dです\n", b); printf("小さい値%dです\n", a); } else printf("両方とも%dです\n", a); return 0; }
- izayoi2004
- ベストアンサー率14% (22/155)
課題まるなげ禁止ですが scanf, if, printfを使ってみたらいかがでしょうか
補足
if→elseif→elseの順で使ってみましたがエラー出ます。 #include <stdio.h> int main(void) { int a, b; printf("整数A :"); scanf("%d", &a); printf("整数B :"); scanf("%d", &b); if (a>b) printf("大きい値%dです\n" , &a); printf("小さい値%dです\n" , &b); elseif(a<b) printf("大きい値%dです\n" , &b); printf("小さい値%dです\n" , &a); else printf("両方とも%dです\n" , &a); return 0; } こんな感じです。最後の両方のは片方のaだけ表示させてます。