```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 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
- ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
- ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
- ¥15 帮我写一个c++工程
- ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
- ¥15 关于smbclient 库的使用