2 heuguangxu heuguangxu 于 2016.04.08 21:42 提问

把我原来做的杭电AC代码改成C竟然出错了是怎么回事啊

今天又重新看了下之前做的杭电ACM题,遇到一个问题,求大神解决下。我原来是用C++做的,今天我只是把C++改成了C,就出错了,是怎么回事啊!

杭电2008
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2008

C

#include
int main()
{
int n;
while(scanf("%d",&n))
{
if(n==0)
break;
double a[n];
int q=0,w=0,e=0;
for(int i=0;i {
scanf("%d",&a[i]);
if(a[i]>0)
q++;
if(a[i]==0)
w++;
if(a[i]<0)
e++;
}
printf("%d %d %d\n",e,w,q);
}
return 0;
}

C++

#include
using namespace std;
int main()
{
int n;
while(cin>>n)
{
if(n==0)
break;
double a[n];
int q=0,w=0,e=0;
for(int i=0;i {
cin>>a[i];
if(a[i]>0)
q++;
if(a[i]==0)
w++;
if(a[i]<0)
e++;
}
cout<<e<<" "<<w<<" "<<q<<endl;
}
return 0;
}

1个回答

caozhy
caozhy   Ds   Rxr 2016.04.08 23:24
已采纳
 while(scanf("%d",&n))
->
while(scanf("%d",&n) != EOF)
Csdn user default icon
上传中...
上传图片
插入图片