高さhと幅wがともに整数である長方形を整長方形と呼ぶ.
横長整長方形 (w> h) の大小関係を次のように定める.
・対角線の長さが短いほうが小さい.
・対角線の長さが同じならば,高さの低いほうが小さい.
与えられた横長整長方形に対し,それより大きい最小の横長整長方形を求めるプログラムを作れ.
出力
各データセットに対し,それに記述されている横長整長方形より大きい最小の横長整長方形の高さhと幅w (> h) とを,整数でひとつの空白文字で区切って1行に出力せよ.また,各行の末尾には改行を出力すること.なお,この問題の入力で与えられる横長整長方形に対しては,それより大きい最小の横長整長方形の高さと幅はともに150を超えないことが分かっている.
が問題です。以下にソースコードを貼っています。コンパイルすると
break statement not within loop or switch
と表示されてしまいます原因は何でしょうか。教えていただけると助かります。
よろしくお願いします。
コード#include <stdio.h> int main(void){ int h; int w; scanf("%d %d", &h, &w); if(h==0&&w==0){ break; } while(1){ int dia=h*h+w*w; int i; int j; int H; int W; for(i=1;i<=100;i++){ for(j=1;j<=100;j++){ int newdia=i*i+j*j; if(dia>newdia||(dia==newdia&&i<h)){ continue; }else{ H=i; W=j; break; } } } printf("%d %d\n", H, W); break; } return 0; }
回答3件
あなたの回答
tips
プレビュー