我的程式在電腦都能執行,放上網站卻一直CE...
我試過如果用C去送,則會顯示我沒有宣告結構
如果用C++去送,又說沒有宣告 gets() 函數
程式試過沒有問題,語法上到底是哪裡錯了求高人指點!
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
/*#include<iostream>
using namespace std;*/
struct number{
int L;
char ori[101];
char ver[101];
};
int main(void)
{
int i,j,n;
char N[10];
number a[1000];
int t;
char temp[101];
while(gets(N))
{
n=atoi(N);
for(i=0;i<n;i++)
{
gets(a[i].ori);
strcpy(a[i].ver,a[i].ori);
a[i].L=strlen(a[i].ori);
if(a[i].ver[0]=='-')
{
while(a[i].ver[1]=='0')
{
for(j=1;j<=a[i].L-1;j++)
{
a[i].ver[j]=a[i].ver[j+1];
}
a[i].L--;
}
}
else
{
while(a[i].ver[0]=='0')
{
for(j=0;j<=a[i].L-1;j++)
{
a[i].ver[j]=a[i].ver[j+1];
}
a[i].L--;
}
}
if(a[i].ver[0]=='-')
{ a[i].L*=-1;
a[i].L++;}
}
for(j=0;j<n-1;j++)
{
for(i=0;i<n-1-j;i++)
{
if(a[i].L>a[i+1].L)
{
t=a[i].L;
a[i].L=a[i+1].L;
a[i+1].L=t;
strcpy(temp,a[i].ori);
strcpy(a[i].ori,a[i+1].ori);
strcpy(a[i+1].ori,temp);
strcpy(temp,a[i].ver);
strcpy(a[i].ver,a[i+1].ver);
strcpy(a[i+1].ver,temp);
}
else if(a[i].L==a[i+1].L)
{
if(strcmp(a[i].ver,a[i+1].ver)>0)
{
t=a[i].L;
a[i].L=a[i+1].L;
a[i+1].L=t;
strcpy(temp,a[i].ori);
strcpy(a[i].ori,a[i+1].ori);
strcpy(a[i+1].ori,temp);
strcpy(temp,a[i].ver);
strcpy(a[i].ver,a[i+1].ver);
strcpy(a[i+1].ver,temp);
}
}
}
}
for(i=0;i<n;i++)
printf("%s\n",a[i].ori);
}
return 0;
}
在純c語言
宣告struct要加struct
struct number a[1000];