1
我的程序中有錯誤的輸入問題。它讀取座標並根據數組中的座標計算最大長度。它應該讀取直到EOF。正確的座標格式是[5,10]。問題是,當我寫例如「asdf」。然後我得到4x不正確的輸入,我只需要一次。有人能幫助我嗎?先謝謝你。不正確的輸入警告來了不止一次
while ((c1=(scanf(" %c %lf %c %lf %c", &f, &cx, &g, &cy, &h))) != EOF){
if (c1 != 5 || h != ']' || g != ',' || f != '['){
printf("Incorrect input. \n");
continue;
}
for (int i = 0; i < pocet; i++) {
u = polex[i] - cx;
v = poley[i] - cy;
result = sqrt((u*u) + (v*v));
if (result>max){
max = result;
}
}
printf("Max: %g\n", max);
max = 0;
}
通過使用int c清除無效輸入上的stdin; while((c = getchar())!='\ n');' –
謝謝,它可以工作,但EOF(CTRL + D)不會結束程序。 –