30/09/2018, 22:09
Cho em hỏi ngu cái. sao cái code này lúc chạy đúng lúc sai vây?
/*liệt kê các giá trị có toàn chữ số lẻ trong mảng.*/
int lietkesole2(int a[], int n)
{
int dv, i, b;
cout << "
Cac so toan so le trong mang la : ";
for (i = 0; i < n; i++)
{
b = a[i];
do
{
dv = a[i] % 10;
if (dv % 2 == 0)
{
break;
}
} while (a[i] /= 10);
if (dv % 2 != 0)
{
cout << b << " ";
}
}
return 0;
}
Bài liên quan
Lý do là code của bạn sai, tham khảo…
This post was flagged by the community and is temporarily hidden.
Bạn hiểu sai đề rồi ạ
nếu a[i] = 23 thi theo cái code của bạn nó nhận giá trị 23 luôn. Toàn chữ số lẽ mà bạn
nếu a[i] = 8 thì vòng lặp sẽ bỏ qua mà bạn. mình cho lệnh break vào mà
This post was flagged by the community and is temporarily hidden.
uh.
/liệt kê các giá trị có toàn chữ số lẻ trong mảng./
int lietkesole2(int a[], int n)
{
int dv, i, b;
}
/liệt kê các giá trị trong mảng có chữ số đầu tiên là chữ số lẻ./
int lietkesole(int a[], int n)
{
int dv, b;
cout << "\nCac gia tri trong mang co so dau tien la so le la : ";
for (int i = 0; i < n; i++)
{
b = a[i];
do
{
dv = a[i] % 10;
} while (a[i] /= 10);
if (dv % 2 != 0)
{
cout << b << " ";
}
}
return 0;
}
Code bạn hơi lộn xộn, ở vòng lặp
do-while
có thể kiểm tra các số có phải toàn lẻ không, nhưng khúcif
ở dưới chỉ in ra số lẻ thôi, ví dụ 21 không phải số toàn lẻ, nhưng nó vẫn được in ra, bạn nên viết riêng cái hàm kiểm tra số toàn lẻ, rồi tới hàm liệt kê ra các số lẻ trong mảng thì gọi vào cho gọn, ví dụ:nếu để 2 cái code này với nhau thì cái tìm toàn số lẽ đúng. cái số đầu tiên là số lẻ sai.
nếu để theo thứ tự ngược lại thì code toàn số lẽ sai + code số đầu số lẻ đungs. Hack não quá
Cảm ơn bạn đã quan tâm tới bài viết mình!
Mình để code toàn số lẽ chạy riêng vẫn ra kết quả đúng ạ. Mình xin tham khảo
This post was flagged by the community and is temporarily hidden.