• ベストアンサー

二つの整数値の大小比較

二つの整数を読みこんでif文でつくるんですが、どうにもできません。 ↓のような感じで入出力すればいいそうです。 二つの整数を入力してください 整数A :83 整数B :45 大きい方の値は83です。 小さい方の値は45です。 そして同じ数字の場合は↓ 二つの整数を入力してください 整数A :17 整数B :17 両方とも17です。 どなたか参考となるプログラムを教えてください!!

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.3

★アドバイス >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)
回答No.4

いくらなんでもこんな簡単なプログラムが「どうにもできない」とは思えない。 仮にできないにしても、どの程度まで作ったか、自分なりに整理してここに示し、どの辺がわからないかを書くべきです。 どんな丁寧に書いたって20行くらいのプログラムのはず。 これじゃ単に答えまる教えしてと言ってるのと同じです。

  • mac_res
  • ベストアンサー率36% (568/1571)
回答No.2

#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.1

課題まるなげ禁止ですが scanf, if, printfを使ってみたらいかがでしょうか

FPShooter
質問者

補足

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だけ表示させてます。

関連するQ&A