下のコードをVisualstudio2019でデバックなしで開始とすると、
整数 a を入力してください1
1
整数 b を入力してください-5
整数 c を入力してください6
実数解は1.791288と-2.791288です
というように最初に1を入力しても、整数bを入力してくださいと表示されずただ改行のみが行われて、もう一度1を入力すると整数bを入力してくださいと表示されます。一度目の入力ですぐに改行して整数 b を入力してくださいと動作させるにはどうすればよいのでしょうか。
#ソースコード
int main(void) {
int a, b, c;
printf("整数 a を入力してください");
scanf_s("%d\n", &a);
printf("整数 b を入力してください");
scanf_s("%d\n", &b);
printf("整数 c を入力してください");
scanf_s("%d\n", &c);
double d, e, f;
f = (double)b * b - (double)4 * a * c;
if (f > 0) {
d = ((double)-b + sqrt(f)) / ((double)2 * a);
e = ((double)-b - sqrt(f)) / ((double)2 * a);
printf("実数解は%fと%fです", d, e);
}
else if (f == 0) {
d = -b / (2 * a);
printf("実数解は%f(重解)です", d);
}
else {
printf("実数解はありません");
}
return 0;
}
回答1件
あなたの回答
tips
プレビュー