01/10/2018, 00:58

Sửa lỗi bài toán!

Nhập vào 1 số nguyên dương n, đếm xem n có bao nhiêu chữ số, tìm ra chữ số lớn nhất và chữ số nhỏ nhất.
VD: 597453 có 6 chữ số, 9 là số lớn nhất và 3 là số nhỏ nhất.
Khi chạy thì nó ra max và min đều bằng 0. Ai giúp em sửa bài này với

int n;
	do
	{
		printf("Nhap vao so n: ");
		scanf("%d",&n);
		if(n<0)
		printf("Ban nhap khong dung, moi nhap lai!
");
	}while(n<0);
	int dem=0;
	int tem=n;
	while(tem!=0)
	{
		tem=tem/10;
		dem++;
	}
	printf("So %d co %d chu so
",n,dem);
	int max,min;
	max=min=tem%10;
	tem/=10;
	while(tem!=0)
	{
		int chuso=tem%10;
		tem/=10;
		if(chuso > max)
		{
		max=chuso;
		}
		if(chuso < min)
		{
		min=chuso;
		}
	}
	printf("Chu so max: %d
",max);
	printf("Chu so min: %d
",min);
	return 0;
Nguyen Trung viết 03:13 ngày 01/10/2018

bạn sai nhiều quá

Nguyen Trung viết 03:07 ngày 01/10/2018

bạn tham khảo. Mình làm chi tiết rồi đấy
http://codepad.org/FSWpgEe7

Quân viết 03:12 ngày 01/10/2018

chỉ là quên gán temp = n; thôi mà, có cần thiết phải post code khác lên không. Sai chỗ nào thì chỉ bạn ấy sửa thôi, post code mới lên thì khác gì bảo bạn ấy tự tìm hiểu đâu.
PS: code bạn viết lặp quá nhiều.

Nguyen Trung viết 02:59 ngày 01/10/2018

dạ cái đó e viết chi tiết ra chứ ạ -___-
còn lí do e viết code khác là…code không được format e khá lười coi nên viết cái mơi luôn ạ.

Người bí ẩn viết 02:59 ngày 01/10/2018

Dùng 1 vòng lặp được rồi, 2 vòng lặp chi cho nó dài dòng thế bạn ?

Nguyen Trung viết 02:59 ngày 01/10/2018

lí do e giải thích rồi ạ :((

Người bí ẩn viết 02:58 ngày 01/10/2018

Mình nói bạn chủ topic ấy

Bài liên quan
0