提交会说除了第二个全WA,然后下载第一个点,本地运行是对的,但第一个点还是WA
向大佬求助
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
typedef struct node
{
int num;
struct node *prior;
struct node *next;
}linknode,*linklist;
linklist head,rear,point;
void creatlist(linklist head,int n)
{
point=(linklist)malloc(sizeof(linknode));
point->num=n;
rear->next=point;
point->prior=rear;
rear=point;
}
int main()
{
int i=0,l;
char tmp;
char numchar[1005];
int numint;
int alpha,beta,gamma;
head=(linklist)malloc(sizeof(linknode));
rear=head;
while(scanf("%c",&tmp)!=EOF)
{
if(tmp>='0'&&tmp<='9')
{
numchar[i]=tmp;
i++;
}
else if(tmp=='.')
{
numint=0;
l=strlen(numchar);
for(i=1;i<=l;i++)
numint+=(numchar[i-1]-'0')*(int)(pow(10,l-i));
for(i=1;i<=l;i++)
numchar[i-1]='\0';
i=0;
//printf("%d\n",numint);
creatlist(head,numint);
}
else if(tmp!='.'&&tmp!='@')
{
alpha=(rear->prior)->num;
beta=rear->num;
if(tmp=='+')
gamma=alpha+beta;
else if(tmp=='-')
gamma=alpha-beta;
else if(tmp=='*')
gamma=alpha*beta;
else if(tmp=='/')
gamma=(int)(alpha/beta);
((rear->prior)->prior)->next=rear;
rear->prior=(rear->prior)->prior;
rear->num=gamma;
//printf("%d ",rear->num);
}
else if(tmp=='@')
break;
}
printf("%d",rear->num);
return 0;
}