问题描述
- 把我原来做的杭电AC代码改成C竟然出错了是怎么回事啊
-
今天又重新看了下之前做的杭电ACM题,遇到一个问题,求大神解决下。我原来是用C++做的,今天我只是把C++改成了C,就出错了,是怎么回事啊!杭电2008
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2008C
#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 %dn",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;
}
解决方案
while(scanf("%d",&n))
->
while(scanf("%d",&n) != EOF)