Nhập vào một số nguyên dương n, nhập vị trí muốn lấy trong số đó rồi in ra chữ số thỏa mãn

nhập vào một số nguyên dương n, nhập vị trí muốn lấy trong số đó rồi in ra chữ số thỏa mãn (vị trí được tính từ trái sang và bắt đầu từ 1)
vd: 1337 vi_tri: 2 ket qua: 3
mn giúp mình bài này với :(( bài này mình chỉ đc dùng kiến thức for while để giải quyết (không string, fucion), mình đã thử với vòng while với số lần lặp là số chữ số có trong n trừ đi vị trí đã nhập mà không ra :((

cho mình xin code vòng while của bạn được không?

2 Likes

mình xóa trước đó rồi nhưng đại loại nó như thế này bạn:

cin >> n;
save = n;
while (n)
	{
		r = n % 10;
		dem++;
	}
//phan nay la minh dem so chu so cua n
cin >> vi_tri;
while (dem - vi_tri)
{
  save %= 10;
}
cout << save;

mình cũng đã thử với for cùng một vài điều kiện khác nhưng cũng k ra :frowning:

for(; n &&dem; n/=10,dem- -)
ketqua=n%10;
1 Like

chỗ n && đếm là sao bạn giải thích cho mình với?

Yêu cầu là chữ số thứ… từ trái sang phải nên sẽ không lấy được ntn.

3 Likes

n&&dem là tương đương với n!=0 &&dem !=0

hmm, vậy thì dùng thêm một loop để đếm số lượng chữ số là được

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?