đầu tiên chuyển sang string sau đó đẩy lần lượt các kí tự vào một mảng, sau đó lại ép từng kí tự đó thành số và tính tổng của nó.
Chào cả nhà , em đang có 3 ô textbox theo thứ tự lưu : ngày , tháng và năm sinh .
Giờ em muốn cắt từng từng số của từng textbox ra là cộng lại thành tổng . Và nếu tổng đó >= 10 thì lại tách tiếp số đó = tổng của 2 số cấu thành số đó cộng lại . Cho đến khi nó <= 9.
Ví dụ : 12 / 05 / 1991
Sẽ được cắt thành : 1 + 2 + 0 + 5 + 1 + 9 + 9 +1 = 28 = 2 + 8 = 10 = 1+ 0 = 1 .
Và 1 là kết quả cuối cùng .
Mọi người giúp em nhé . Thankssss
đầu tiên chuyển sang string sau đó đẩy lần lượt các kí tự vào một mảng, sau đó lại ép từng kí tự đó thành số và tính tổng của nó.
I'll come back
Ôi trời, bói vs toán đây mà @@
Giả sử dùng một mảng kí tự để giải bài này.
B1. Nhập cả chuỗi đó vào mảng str[], khởi tạo đếm i=0, tổng =0.
B2: Nếu str[i] == '\0' thì kết thúc chương trình, ELSE kiểm tra nếu str[i] là số thì tổng = tổng + (int)(str[i]-'0').
B3: tăng biến đếm: i++ sau đó quay lại B2.
Sau đó bạn viết một hàm đệ quy tính tổng các chữ số của một số cho tới khi tổng đó còn một chữ số là được.
Còn đáp án nào khác và chi tiết hơn ko các bạn , chứ ý tưởng thế thì tớ cung có rùi nhưng chưa triển khai đc , mà mình viết = Objective C
Có lẽ đây là thứ bạn cần . Lần sau mình nghĩ bạn tự tìm ra thuật toán và tự code thì mới mong khá môn này . Mình code dùm bạn chỉ để luyện cho mình thôi . Chào bạn.À, code c++ nhé.
C++ Code:
// MiscellaneousCode.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <conio.h> int to_digit(char _c); void main() { char str[256]; int i = 0,sum0 = 0,sum1 = 0; printf("Insert your birthday dd/mm/yyyy:"); scanf("%s",&str); do{ if (str[i] == '/' ) str[i] = '0'; sum0 = sum1 = sum0 + to_digit(str[i]); i++; }while(str[i]!='\0'); while(sum0 >=10) { sum0 = sum0/10; sum0 = sum0 + sum1%10; sum1 = sum0; } printf("%d",sum0); } int to_digit(char _c) { return (_c - 0x30); }
Đã được chỉnh sửa lần cuối bởi PhuongPH : 30-08-2011 lúc 03:45 PM.
To PhuongPH :
Thanks bạn nhé , thật sự là mình có biết gì về C++ vs Obj C đâu ,sếp bảo làm thành ra fai đi hỏi các bạn . Dù sao cũng thanks bạn lần nữa .
Mình thấy code nào cũng na ná nhau mà . Có lẽ bạn bị hỏng ở phần cài đặt thuật toán rồi .
Bạn PhuongPH cho mình hỏi chút , mình chưa hiểu đoạn "return (_c - 0x30);" của bạn thì 0x30 nghĩa là sao nhì ??
Đã được chỉnh sửa lần cuối bởi ngocsonaat : 06-09-2011 lúc 10:57 AM.