一个简单程序中的int变量在循环中不进行自加语句,求原因
代码如下:
#include <iostream>
using namespace std;
int main(void)
{
double time[1000];
double x,y;
int num,i;
cin >> num;
for(i=0;i<num;i++)
{
scanf("%lf %lf\n",&x,&y);
time[i]=(x*x+y*y)*3.14/50+1.0;
}
i=0;
while(i<num)
{
printf("Property %d:This property will begin eroding in year %.0lf.\n",i+1,time[i]);
i++;
}
printf("END OF OUTPUT.\n");
return 0;
}
其中的第一份for循环,i在第一次循环结束后仍然为0,使之程序多执行一次循环
换成while也不行,在第一次循环中i也不自加,有人知道原因和解决方法吗?
[解决办法]
楼主我明白了 ,你把scanf里面的换行符去掉,就行了