为什么这段代码在Dev-C++上编译陈功,在洛谷上就编译失败?
语言:C++14(GCC9) Dev-C++版本:TDM-GCC4.9.2
代码:
#include<bits/stdc++.h>
using namespace std;
char a[10000],e[10000];
int b[10000],c[10000],d[10000];
int main()
{
gets(a);
for(int i=0;i<strlen(a);i++)
{
b[i]=a[i]-'0';
}
int k=strlen(a)-1,sum=0;
for(int i=0;i<strlen(a);i++)
{
c[i]=b[i]*pow(8,k);
sum+=c[i];
k--;
if(k<0)
{
break;
}
}
int i=strlen(a);
while(sum)
{
d[i]=sum%16;
sum/=16;
if(d[i]>9)
{
switch(d[i])
{
case 10:
e[i]='a';
break;
case 11:
e[i]='b';
break;
case 12:
e[i]='c';
break;
case 13:
e[i]='d';
break;
case 14:
e[i]='e';
break;
default:
e[i]='f';
}
}
if(d[i]<=9)
{
switch(d[i])
{
case 0:
e[i]='0';
break;
case 1:
e[i]='1';
break;
case 2:
e[i]='2';
break;
case 3:
e[i]='3';
break;
case 4:
e[i]='4';
break;
case 5:
e[i]='5';
break;
case 6:
e[i]='6';
break;
case 7:
e[i]='7';
case 8:
e[i]='8';
case 9:
e[i]='9';
}
}
i--;
}
for(int i=1;i<=strlen(a);i++)
{
cout<<e[i];
}
return 0;
}