今天刷题时写了如下代码:
#include
#include
#include
using namespace std;
int main(){
int N,ans=0;
char B;
cin>>N>>B;
char card[4*N+1],type[4*N+1];
for(int i=1;i<=4*N;i++){
bool flag;
int a;
cin>>card[i]>>type[i];
switch(type[i]){
case B:
flag=1;
break;
default:
flag=0;
}
switch(card[i]){
case'A':
a=11;
break;
case'K':
a=4;
break;
case'Q':
a=3;
break;
case'J':
a=flag?20:2;
break;
case'T':
a=10;
break;
case'9':
a=flag?14:0;
break;
case'8':
a=0;
break;
case'7':
a=0;
break;
}
ans+=a;
}
cout<return 0;
}
编译时提示如下错误:
case B是不对的,应该是 case 'B'
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
int N,ans=0;
char B;
cin>>N>>B;
char card[4*N+1],type[4*N+1];
for(int i=1;i<=4*N;i++){
bool flag;
int a;
cin>>card[i]>>type[i];
switch(type[i]){
case 'B':
flag=1;
break;
default:
flag=0;
}
switch(card[i]){
case'A':
a=11;
break;
case'K':
a=4;
break;
case'Q':
a=3;
break;
case'J':
a=flag?20:2;
break;
case'T':
a=10;
break;
case'9':
a=flag?14:0;
break;
case'8':
a=0;
break;
case'7':
a=0;
break;
}
ans+=a;
}
cout<<ans;
return 0;
}
看报错,case B的B要加引号
只能是整形的,不能是字符型