这道题错了,求大佬订正。
程序(异常):
#include<cstdio>
#include<iostream>
using namespace std;
struct{
int x,y;
}d[101];
int main(){
int n,r,c;
double ans,X,Y;
cin >> n >> r;
int b[n];
for(int i=1;i<=n;i++) {cin >> d[i].x >> d[i].y;cout << i;}
cout << endl << n <<endl;
for(int j=1;j<=n;j++){
X=d[j].x-d[j+1].x;
Y=d[j].y-d[j+1].y;
if(X>Y) c=Y+(Y-X); else if(Y>X) c=X+(Y-X);
b[j]=c;
}
for(int k=1;k<=n;k++) ans=b[k]+b[k+1];
printf("%lf2",ans);
return 0;
}
编译信息:
g++.exe -x c++ -c C:\Users\HP\Desktop\程序\books\数学一本通\绳子.1 -o C:\Users\HP\Desktop\程序\books\数学一本通\绳子.o -Wall -fpermissive -Wno-sign-compare -g
C:\Users\HP\Desktop\程序\books\数学一本通\绳子.1: In function `int main()':
C:\Users\HP\Desktop\程序\books\数学一本通\绳子.1:17: warning: converting to `int' from `double'
C:\Users\HP\Desktop\程序\books\数学一本通\绳子.1:17: warning: converting to `int' from `double'
Success
输入:
4 1
0.0 0.0
(本来输入5行数据,因为输入了第2行数据,程序就停止输入了)
输出:
1234(第一个for运行时的标记:异常:因为每次它都执行了,输入了第2组数据却不能输入了。在第2组数据“0.0 0.0”下面的第1行)
4(测试运行完时的循环次数变量:正常。在第2组数据“0.0 0.0”下面的第2行)
10948579.0000002(结果:异常:正确结果:14.28)
求帮助