CSP_201903-2_二十四点(C语言)
CSP_201903-2_二十四点(C语言)
试题编号:
201903-2
试题名称:
二十四点
时间限制:
1.0s
内存限制:
512.0MB
代码:
#include
int main() {
int n,i,j,k,l=7,sum=0,count=0,allsum=0;
char a[100];
scanf("%d",&n);
for(i=0; i
scanf("%s",a);
l=7;
count=0; //用来判断乘除是否连续出现
//先算乘除
for(j=0; j
a[j]-=48;
}
for(j=1; j
if(a[j]=='x') {
count++;
if(count==1) {
sum=a[j-1]*a[j+1];
a[j-1]=sum;
} else {
sum*=a[j+1];
a[j-1]=sum;
}
//将字符数组往前推两个单位
for(k=j; k
a[k]=a[k+2];
}
l-=2;
j-=2;
} else if(a[j]=='/') {
count++;
if(count==1) {
sum=a[j-1]/a[j+1];
a[j-1]=sum;
} else {
sum/=a[j+1];
a[j-1]=sum;
}
for(k=j; k
a[k]=a[k+2];
}
l-=2;
j-=2;
} else if(a[j]=='+'||a[j]=='-') {
count=0;
}
}
//后算加减
allsum=a[0];
for(j=1; j
if (a[j]=='+') {
allsum+=a[j+1];
} else
allsum-=a[j+1];
}
if(allsum==24) {
printf("Yes\n");
} else {
printf("No\n");
}
}
return 0;
}
题目链接:http://118.190.20.162/view.page?gpid=T88
CSP_201903-2_二十四点(C语言)相关教程