01/10/2018, 08:24
Dùng switch trong C
cho e hỏi dòng điều kiện if của e phải sửa như thế nào ạ e mới hk C mn chỉ giúp ạ
Bài liên quan
cho e hỏi dòng điều kiện if của e phải sửa như thế nào ạ e mới hk C mn chỉ giúp ạ
HI vu van thinh.
Bạn tìm tài liệu về biểu thức logic trong C để thao khảo.
sai cú pháp
à ý e hỏi là k cần viết như vậy ý mà chỉ liệt kê ra số rồi xác định sự xuất hiện của nó trong biến ý
để cho code nó ngắn hơn ý
nếu như trong python thì
thang in [1, 2, 3, ...]
vậy trong c có làm nhanh đc vậy k ạ
có em
if (thang == (1||5|| 7||8|| 10 || 12))
printf(“thang %d co 31 ngay”,thang);
Dùng switch…case bạn. Hoặc là viết bảng tra ra luôn.
vâng ạ e cảm ơn c ^-^
switch case thì mình có biết nhưng còn bảng là sao nhỉ
làm gì có cái này
nó chỉ đúng khi tháng = 1 thôi
vì
(1 || 5 || 7 || 8 || 10 || 12)
là biểu thức logic, nó chắc chắn là TRUE, mà TRUE mặc định là 1if (thang == (1||5|| 7||8|| 10 || 12))
tương đươngif (thang == 1)
vậy phải viết như thế nào cho đúng vậy ạ
có bạn ở trên up hình rồi đó e
còn k nữa thì dùng switch case
cách của bạn thì e có biết a ạ chỉ là e muốn xem có cách nào code ngắn hơn thế nữa thôi ạ:joy:
Code thì đừng ham ngắn, dễ đọc nhưng phải chất, không lầy, không nhựa mới quý.
vâng e hiểu rồi ạ
cách này sẽ khá giống code python, với trường hợp đơn giản như thế này thì chỉ cần dùng if thôi, nhưng đây là 1 cách để tham khảo
int thang;
std::cout << "nhap thang: ";
std::cin >> thang;
std::vector cacThang31Ngay {1, 5, 7, 7, 8, 10, 12};
if (std::find(cacThang31Ngay.begin(), cacThang31Ngay.end(), thang) != cacThang31Ngay.end())
{
std::cout << “thang " << thang << " co 31 ngay\n”;
}
else if (thang == 2)
{
std::cout << “thang " << thang << " co 28 ngay\n”;
}
else
{
std::cout << “thang " << thang << " co 30 ngay\n”;
}
Kiểu này chắc thôi dùng hai bảng 1 bảng tháng 1 bảng số ngày là xong
Muốn cách ngắn hơn nữa thì chơi cái mảng ntn