In ra màn hình các chữ số của n
Bài tập cơ bản này ta có thể có hướng giải quyết là sử dụng vòng lặp while trong ngôn ngữ lập trình C. Đầu vào sẽ là một biến nguyên dương N, yêu cầu của bài toán là tính tich các chữ số của N. Ví dụ N=456 suy ra tổng các chữ số của N là 4 * 5 * 6 = 120. 2. Lời giảiĐể giải được bài tập tính tich các chữ số của số nguyên dương N trong C bạn phải có kiến thức về toán học cơ bản, có kiến thức về lập trình C cơ bản. Các bước thực hiện bài toán như sau: Bước 1: Khai báo biến int N, khai báo biến int gan = N để gán giá trị của N, khai báo biến long tich = 1 để tính tích các chữ số của N Bước 2: Nhập vào N với điều kiện N>=0, nếu không yêu cầu nhập lại. Bước 3: Ta sử dụng vòng lặp while với điều kiện là khi biến gan còn khác 0 thì vòng lặp tiếp tục, trong vòng lặp ta cho biến tich tăng lên gan%10 lần mỗi khi lặp, còn biến gan chia 10 mỗi khi lặp. Bước 4: In biến tích ra màn hình. Chương trình giải bài tập tính tích các chữ số của số nguyên dương N trong C như sau : #includeVí dụ tôi nhập N=78922 Kết quả:
3. Tổng kếtĐể thực hiện giải bài tập tính tích các chữ số của số nguyên dương N trong C bạn đọc cần phải có kiến thức cơ bản về ngôn ngữ lập trình C, bạn cần nắm vững cách nhập xuất căn bản và các cách sử dụng vòng lặp trong C và các phép toán học cơ bản.
Viết chương trình Tính tổng các chữ số trong một số n ? Đây là một bài tập khá hay :D, tuy nó cũng khá đơn giản thôi, nhưng cái mà nó mang lại cho chúng ta không hề giản đơn như chúng ta nghĩ là đơn giản :v. Vậy thì bài tập này cho chúng ta những gì ? Hãy cũng mình tìm hiểu trong bài viết này nhé, mình xin được bắt đầu bài viết. Bài toán tính tổng các chữ số trong một sốĐề bài: Trên ngôn ngữ lập trình C , hãy nhập vào một số nguyên dương n. Hãy viết chương trình Tính tổng các chữ số của n , in kết quả ra màn hình. Như vậy, bài toán này sẽ giúp các bạn học được các kiến thức cơ bản nhất về nhập xuất trong lập trình C. Cách sử dụng vòng lặp toán tử chia dư, chia nguyên trong lập trình C. Xác định input output: input: Nhập n = 12345 output: s = 1 + 2 + 3 + 4 + 5 Ý tưởng :
Ok chỉ vậy thôi, bây giờ mình sẽ code và chú thích chi tiết ngay ở dưới.
Kết quả: Okê xong rồi đấy :D, Vậy là mình đã giải quyết xong bài toán Tính tổng các chữ số trong một số n . Mình rất vui vì bạn đã tham khảo bài viết này của mình. Chúc bạn học tập thật tốt và từng bước từ newbie đi lên coder và trở thành developer hihi. Hãy nhớ là nền vững thì mới xây cao. Bọn mình và sếp sẽ luôn đồng hành cùng các bạn hehe. Các bạn cứ để lại bình luận nếu thắc mắc, mình xin được kết thúc bài viết tại đây. Xem thêm bài viết về C/C++ tại đây
Giúp em bài C++ này với ạ, Em năm nay lớp 12 ạ. Còn khoảng một tháng nữa là sẽ thi thành phố môn tin học. Viết chương trình nhập 1 số có 5 chữ số, tách số đó ra thành các chữ số và in ra màn hình, ngăn cách nhau bởi 3 dấu cách VD 12345 in ra 1 2 3 4 5 em cảm ơn! 1 Like
Gợi ý cho bạn là dùng chỉ cần lấy số đó module cho 10 là được chữ số cuối cùng rồi 1 Like
Bạn cứ lấy số đó chia cho 10 lấy dư sẽ được chữ số cuối. Để loại bỏ số cuối mà mình đã có thì bạn lấy số đó chia cho 10 lấy nguyên. Lặp lại như vậy thôi
dùng lệnh lặp thôi;; lấy phần dư số n chia cho 10; gán số n=n/10; tiếp
Sao k đọc số dưới dạng chuỗi rồi in ra 1 Like
Nếu đề bài cho nhập dạng chuỗi thì mới được nha bạn. còn ví dụ đề yêu cầu nhập số kiểu int hay long thì lại khác
Bạn tham khảo 1 Like
Mình thì không học bên C++ nên không rành lắm mà mình biết cách làm bên pascal nên bạn có thể tham khao cách làm rồi viết bằng C++ cũng được var n,i:integer; x,y,kq:string; begin write('Nhap so: '); readln(n); x:='';y:=' ';kq:=''; str(n,x); for i:=length(x) downto 1 do kq:=kq+X[i]+y; while kq[1]='0' do delete(kq,1,1); write('ket qua: ',kq); readln end.
Trong C++ có ToString() không nhỉ 1 Like
Đây nhé.
Given the number 12345: 5 is 12345 % 10 Nguồn: https://stackoverflow.com/questions/4261589/how-do-i-split-an-int-into-its-digits
Code này chỉ dành cho trích xuất cố định thôi. Mà có thế này tại sao phải dựng lên cái object string để làm gì cơ chứ. 1 Like
#include
theo mình thấy thì nếu tách n và xuất thôi thì nó lại theo chiều ngược nên tốt nhất cứ tính số đảo ngược của n trước và tạo thêm 1 vòng lặp while để tách và xuất số đảo ngược của n thì nó sẽ xuất theo thứ tự của đề bài int t,n,s=0; cout<<"\nNhap n: ";cin>>n; while(n!=0) { s=s*10+n%10; n=n/10; } while(s!=0) { t=s%10; cout<1 Like
có cách nào mà tách xong in ra 1 2 3 4 không bạn
Bạn làm theo cách này là đc Lấy phần nguyên của phép chia 12345/10000 ta lấy được số 1 Lấy phần nguyên của phép chia 12345/1000 ta lấy được số 12 rồi chia cho 10 lấy dư. Các số sau tương tự. Đây là mẫu #includeMới lớp 12 thôi. Códe đơn giản thôi cho dễ hiểu Cũng có thể làm như sau #include
này bạn dùng while chỉ đến được 10^6
dùng string sẽ được dài hơn 1 Like Home Categories FAQ/Guidelines Terms of Service Privacy Policy |