#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
int x=1,s,temp0,flag,d;
float y,add,temp1,temp2;
char c[9999];
gets(c);
while(strlen(c)!=0)
{
flag=0;
temp1=0;
temp2=0.0;
add=0.0;
d=strlen(c);
c[d]=' ';
c[d+1]='\0';
for(s=0;s<strlen(c)+1;s++)
if(c[s]==':')
{
x=temp0;
temp0=0;
flag=1;
}
else
if(c[s]=='.')
flag=2;
else
if(c[s]>48&&c[s]<58)
switch(flag)
{
case 0 :temp0=temp0*10+c[s]-48;break;
case 1 :temp1=temp1*10.0+c[s]-48.0;break;
case 2 :temp2=temp2/10.0+((float)c[s]-48.0)/10.0;break;
}
else
{
y=temp1+temp2;
temp1=0;
temp2=0.0;
flag=0;
if(x%2==1)
add+=y;
else
add-=y;
}
printf("%g\n",add);
gets(c);
}
}
自己測都沒問題
是不是我用到了禁忌的指令或是GCC不接受的寫法?