```int main()
{
int cards[5];
int n;
cin>>n;
srand(n);
for (int i=0;i<5;i++)
{
cards[i]=rand()%52;
}
string num[5];
for (int k=0;k<5;k++)
{
cout<<cards[k]<<endl;
if (0<=cards[k]<=12)
{
num[k]=charact(cards[k])+string(SPADE);
cout<<'a'<<endl;
}
else if (13<=cards[k]<=25)
{
num[k]=charact(cards[k]-13)+string(HEART);
cout<<'b'<<endl;
}
else if (26<=cards[k]<=38)
{
num[k]=charact(cards[k]-26)+string(CLUB);
cout<<'c'<<endl;
}
else if (39<=cards[k]<=51)
{
num[k]=charact(cards[k]-39)+string(DIAMOND);
cout<<'d'<<endl;
}
cout<<cards[k]<<endl;
}
for (int j=0;j<5;j++)
{
cout<<num[j]<<" ";
}
}
为什么就算是23 他也只执行第一个if语句? (SPADE那些已经定义,扑克花符)
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/308976185646194.png "#left")
为什么在loop里面只执行第一个if语句
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2022-03-06 23:58关注
条件不能这样写,要用&&,参考:
if (0<=cards[k]<=12) 改为 if (0<=cards[k] && cards[k]<=12)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 请看一下,学校实验要求,我需要具体代码
- ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
- ¥20 MATLAB绘制两隐函数曲面的交线
- ¥15 求TYPCE母转母转接头24PIN线路板图
- ¥100 国外网络搭建,有偿交流
- ¥15 高价求中通快递查询接口
- ¥15 解决一个加好友限制问题 或者有好的方案
- ¥15 急matlab编程仿真二阶震荡系统
- ¥20 TEC-9的数据通路实验
- ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃