📄 1897493_ac_0ms_56k.c
字号:
# include <stdio.h>
# include <ctype.h>
# include <string.h>
# include <stdlib.h>
int main()
{
int i, j, k, mark;
int num[100];
char eq[100], op[100], r[100];
while(gets(eq)!=NULL)
{
j = 0;
memset(op,'\0',sizeof(op));
memset(num,0,sizeof(num));
for(i = 0; i < strlen(eq); i++)
{
num[j] = atoi(&eq[i]);
while(eq[i]==' ' || eq[i]=='-'||eq[i]=='+')
i++;
while(isdigit(eq[i])||eq[i]==' ')
i++;
op[j] = eq[i];
j++;
if(eq[i]=='=')
{
while(eq[i+1]==' ')
i++;
strcpy(r,&eq[i+1]);
break;
}
}
for(k = 0; k < strlen(op); k++)
printf("%d %c ",num[k],op[k]);
puts(r);
while(1)
{
mark = 1;
if(op[0]=='=') break;
for(i = 0; i < strlen(op); i++)
if(op[i]=='*'||op[i]=='/')
{
if(op[i]=='*')
num[i] = num[i]*num[i+1];
else
num[i] = num[i]/num[i+1];
for(k = i+2; k < strlen(op); k++)
num[k-1] = num[k];
strcpy(&op[i],&op[i+1]);
for(k = 0; k < strlen(op); k++)
printf("%d %c ",num[k],op[k]);
puts(r);
mark = 0; break;
}
if(!mark) continue;
for(i = 0; i < strlen(op); i++)
if(op[i]=='+'||op[i]=='-')
{
if(op[i]=='+')
num[i] = num[i]+num[i+1];
else
num[i] = num[i]-num[i+1];
for(k = i+2; k < strlen(op); k++)
num[k-1] = num[k];
strcpy(&op[i],&op[i+1]);
for(k = 0; k < strlen(op); k++)
printf("%d %c ",num[k],op[k]);
puts(r);
break;
}
}
printf("\n");
}
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -