30/09/2018, 20:16
Có cách nào dùng lệnh switch case (C) tốt hơn dòng code giải bài tập phân biệt dưới đây không?
Bài tập: Viết chương trình phân biệt một ký tự là chữ cái (abc) hay không phài chữ cái (~!")
Code: bài mình làm
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ky_tu = 'g';
switch(ky_tu){
case 97:
printf("Day la chu
");
break;
case 98:
printf("Day la chu
");
break;
case 99:
printf("Day la chu
");
break;
case 100:
printf("Day la chu
");
break;
case 101:
printf("Day la chu
");
break;
case 102:
printf("Day la chu
");
break;
case 103:
printf("Day la chu
");
break;
case 104:
printf("Day la chu
");
break;
case 105:
printf("Day la chu
");
break;
case 106:
printf("Day la chu
");
break;
case 107:
printf("Day la chu
");
break;
case 108:
printf("Day la chu
");
break;
case 109:
printf("Day la chu
");
break;
case 110:
printf("Day la chu
");
break;
case 111:
printf("Day la chu
");
break;
case 112:
printf("Day la chu
");
break;
case 113:
printf("Day la chu
");
break;
case 114:
printf("Day la chu
");
break;
case 115:
printf("Day la chu
");
break;
case 116:
printf("Day la chu
");
break;
case 117:
printf("Day la chu
");
break;
case 118:
printf("Day la chu
");
break;
case 119:
printf("Day la chu
");
break;
case 120:
printf("Day la chu
");
break;
case 121:
printf("Day la chu
");
break;
case 122:
printf("Day la chu
");
break;
default:
printf("Day khong phai la chu cai
");
break;
}
return 0;
}
Bài liên quan
Bỏ break với mấy cái râu ria kia đi (không áp dụng với Java )… mà sao bạn không dùng if else nhỉ ???
Bạn có thể thay bằng 4 điều kiện if:
switch case bạn chỉ nên dùng trong trường hợp điều kiện rời rạc và số lượng cố định thôi. Trong trường hợp này nhìn thì giá trị có vẻ rời rạc, nhưng do đặc điểm của bảng mã ASCII nên các ký tự hoa và các ký tự thường được xếp liên tục gần nhau nên bạn có thể thu gọn lại trong 2 trường hợp xét ký tự thường và hoa như trên.
https://vi.wikipedia.org/wiki/ASCII
a
->z
và từA
đếnZ
nên bạn chỉ cầnif else
là đủ, ví dụ như các bạn ở trên.À thì đang làm bài tập chỉ sử dụng lệnh đó thôi, trong phần bài tập mà Đạt post tront video Ngôn Ngữ C ấy.
Mà viết code trong này như thế nào thế bạn Shangzan?
Thì từ
case 97
đếncase 121
bạn bỏ 2 dòngbreak
vàprintf
đi, cho ngắn bớt…Khi đó nếu nhập vào từ
97
đến121
thì nó cũng chạy đếncase 122
và in ra từĐây là chữ
luôn.