开发者社区 问答 正文

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

今天又重新看了下之前做的杭电ACM题,遇到一个问题,求大神解决下。我原来是用C++做的,今天我只是把C++改成了C,就出错了,是怎么回事啊!
杭电2008
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2008

#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;
}

展开
收起
a123456678 2016-03-24 11:01:50 1825 分享 版权
1 条回答
写回答
取消 提交回答
  •  while(scanf("%d",&n))
    ->
    while(scanf("%d",&n) != EOF)
    
    2019-07-17 19:12:18
    赞同 展开评论
问答分类:
问答地址: