30/09/2018, 17:31

Nhập 1 số tự nhiên (vd: 307835627), loại bỏ số 5 và 0, in ra màn hình là (3783627)

mấy bác cho em hướng đi để giải quyết bài nhập 1 số tự nhiên ( vd : 307835627 ), loại bỏ số 5 và 0 , in ra màn hình là 3783627 , em nghĩ nguyên buổi rồi chưa ra

viết 19:37 ngày 30/09/2018

Theo mình nghĩ thì chuyển số đó thành kiểu chuỗi
xong rồi duyệt chuỗi xem có kí tự nào là 0 or 5 thì xóa
sau đó lại chuyển thành kiểu số

Chi Ngo viết 19:47 ngày 30/09/2018

Hôm trước mình thấy có 1 bài là tỉnh tổng các chữ số của một số nguyên dương. Bài này thì cũng tương tự như vậy thôi, bạn tách từng số ra, nếu là số 5 hoặc số 0 thì bỏ qua.
Đại loại như thế này:

#include "stdio.h"

int main() {

	int value = 307835627;
	int temp = 0, heso=1;
	while (value > 0) {
		int k = value % 10;
		value = value/10;      
		if( k == 5 || k == 0) {
			continue;
		} else {
			temp = k*heso+temp;
			heso = heso*10;
		}
	}
	printf("%d", temp);
}
Dương Lê viết 19:37 ngày 30/09/2018

Cảm ơn bạn, nghĩ quài cũng không ra được cái lênhj continue này

BX136 viết 19:33 ngày 30/09/2018
if( k == 5 || k == 0) {
			continue;
		} else {
			temp = k*heso+temp;
			heso = heso*10;
		}

thực chất ko cần lệnh continue chỉ cần viết

if( k != 5 || k != 0) {
            temp = k*heso+temp;
            heso = heso*10;
        }

vậy là đủ

Chi Ngo viết 19:37 ngày 30/09/2018

if( k != 5 || k != 0) {
temp = kheso+temp;
heso = heso
10;
}

Bạn có chắc điều kiện của if là đúng hay không? Nếu k = 5 thì k!= 5 || k != 0 vẫn cho kết quả là true

X viết 19:37 ngày 30/09/2018

Này là 1 cách bên java, lấy từng số ra so, nếu khác 0 & khác 5 thì đẩy vào sb (giống push_back bên c++) sau lật ngược chuỗi lại là ra =))
P/s: icon khác rồi nhỉ

Dương Lê viết 19:39 ngày 30/09/2018

sao lại true dc ? điều kiện đã là khác 5 rồi màk bạn ?

Chi Ngo viết 19:44 ngày 30/09/2018

Nhưng đây là dấu || (hoặc) nghĩa là đúng khi một trong hai k!=5 hoặc k!=0 đúng mà. Nếu cả 2 cùng sai thì k!=5 || k!= 0 mới trả về 0 chứ nhỉ? Bạn test lại thử xem.

Dương Lê viết 19:42 ngày 30/09/2018

đã test mới thấy dc logic error

Lê Hồng Tuấn Định viết 19:48 ngày 30/09/2018

Tiện thể em hỏi luôn các bác . Ví dụ có 1 mảng các số nguyên như sau : 6 3 4 1 5, bây giờ em muốn sắp xếp các phần tử lớn dần từ trái sang phải nhưng không theo cách duyệt hết các phần tử mà so sánh từng cặp từ trái qua phải xong từ phải qua trái. Ví dụ : 6 3 4 1 5 => 6 > 3
=> 3 6 4 1 5 => 6 > 4
=> 3 4 6 1 5 => 6 > 1
=> 3 4 1 6 5 => 6 > 5
=> 3 4 1 5 6 => 6 > 5 => giữ nguyên
=> 3 4 1 5 6 => 5 > 1 => giữ nguyên
=> 3 4 1 5 6 => 1 < 4 => đổi
=> 3 1 4 5 6 => 1 < 3 => đổi
=> 1 3 4 5 6

pham van trinh viết 19:40 ngày 30/09/2018

đây là phương pháp sủi bọt đúng không các anh chị.

Dương Lê viết 19:48 ngày 30/09/2018
for ( i = 0 ; i <= n-2 ; i++ )
   for ( j = i + 1 ; j <= n-1 ; j++)
      if ( a[ i ] > a[ j ] )
      {
           temp = a[ i ];
           a [ i ] = a [ j ];
           a[ j ] = temp;
      } 

tình hình là code zậy thôi, bạn tự khai báo , cũng chưa test nhak

Dương Lê viết 19:37 ngày 30/09/2018

yeah , bubble sort

Phúc Nguyễn viết 19:42 ngày 30/09/2018

Bạn nhập vào lưu vào biến string luôn đừng lưu biến longint, rồi bạn xét while pos(‘5’,st)<>0 rồi dùng hàm delete xoá nó, làm tương tự với số 0
P/s: sao mình cũng đăng bài tập mà bị cấm cờ xoá bài đăng buồn quá

Dương Lê viết 19:45 ngày 30/09/2018

hình như do bạn dùng 2 acc trên cùng 1 IP nên nó phát hiện và xoá đó

Thanh Tung viết 19:46 ngày 30/09/2018

bạn giúp mình làm hàm tính LOG cơ số 10 đc ko. mình lập trình cho vi điều khiển. khai báo thư viện math thì tốn bộ nhớ của vi điều khiển wa. thank bạn trước nhé

Phúc Nguyễn viết 19:32 ngày 30/09/2018

Mình hỏi nguyên nhân thì a Đạt bảo đừng hỏi bài tập -_-, tới giờ mình vẫn chưa nghĩ ra cách làm

nhatlonggunz viết 19:36 ngày 30/09/2018

Hỏi bài tập nhưng anh phải đưa ý tưởng của anh vào, nêu vấn đề anh gặp phải ra.

Có thể anh có nhiều ý tưởng cho nó, có thể những ý tưởng đó không hay, hoặc không đúng, nhưng nó thể hiện rằng anh có suy nghĩ nhưng nghĩ không ra, thể hiện rằng anh cũng có phần trong đó.

Chi Ngo viết 19:38 ngày 30/09/2018

Mình có viết một bài hướng dẫn chi tiết thuật toán bubble sort. Bạn xem ở link sau nhé: http://chingovan.blogspot.com/search/label/algorithms

BX136 viết 19:46 ngày 30/09/2018

nhưng cho if xong lại continue cũng không cần thiết vì nếu điều đó xảy ra thì nó sẽ ko xét cái duới… mà nếy xét cái duới thì nó ko xét cái trên, vậy tại sao lại cần continue làm gi

Bài liên quan
0