Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Tính tổng các số có chữ số đầu tiên lẻ?

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    22

    Exclamation Tính tổng các số có chữ số đầu tiên lẻ?

    xem giúp em đoạn code sau sai ở điểm nào , em không tìm được chỗ sai
    int csdtle(int n)
    {

    int y,t;
    if(n>0 && n<=9)
    {
    if(n%2!=0)
    t=1;
    else t=0;
    }
    if(n>=10)
    {
    y=n/10;
    if(y%2==0)
    t=0;
    else t=1;
    }
    return t;
    }
    //TONG CAC PHAN TU CO CHU SO DAU TIEN LA SO LE
    int tongcsdle(int a[], int n)
    {
    int tong=0;
    for(int i=0;i<n;i++)
    if(csdtle(a[i])==1)
    tong+=a[i];
    else
    tong=0;
    return tong;

    }
    Đã được chỉnh sửa lần cuối bởi loveboom3012 : 31-07-2011 lúc 09:45 PM.

  2. #2
    Ngày gia nhập
    01 2011
    Nơi ở
    -Mountain-
    Bài viết
    768

    Trích dẫn Nguyên bản được gửi bởi loveboom3012 Xem bài viết
    xem giúp em đoạn code sau sai ở điểm nào , em không tìm được chỗ sai
    int csdtle(int n)
    {

    int y,t;
    if(n>0 && n<=9)
    {
    if(n%2!=0)
    t=1;
    else t=0;
    }
    if(n>=10)
    {
    y=n/10;
    if(y%2==0)
    t=0;
    else t=1;
    }
    return t;
    }
    //TONG CAC PHAN TU CO CHU SO DAU TIEN LA SO LE
    int tongcsdle(int a[], int n)
    {
    int tong=0;
    for(int i=0;i<n;i++)
    if(csdtle(a[i])==1)
    tong+=a[i];
    else
    tong=0;
    return tong;

    }
    lần sau bạn cho vào code tag cho dễ nhìn nhé. Hàm xd chữ số đầu lẻ của bạn sai rồi
    tặng bạn cái này
    C++ Code:
    1. #include <iostream>
    2. using namespace std;
    3.  
    4. int find(int n)
    5. {
    6.     int a;
    7.     do
    8.     {
    9.         a = n%10;
    10.         n /= 10;
    11.     }while (n);
    12.     if (a%2 == 0) return 0;
    13.     else return 1;
    14. }
    15. int main ()
    16. {
    17.     int n;
    18.     cin >> n;
    19.     cout << find (n);
    20.     return 0;
    21. }
    Nhớ một người,
    Là yêu hay là thích .... ?

  3. #3
    Ngày gia nhập
    07 2011
    Bài viết
    22

    Thank bạn nhiều lắm!!!!!!!!

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    160

    Rút gọn hàm find():

    Trích dẫn Nguyên bản được gửi bởi beautifulsoul84hung Xem bài viết
    C++ Code:
    1. #include <iostream>
    2. using namespace std;
    3.  
    4. int find(int n)
    5. {
    6.     while (n >= 10) n /= 10;
    7.     return n % 2;
    8. }
    9.  
    10. int main ()
    11. {
    12.     int n;
    13.     cin >> n;
    14.     cout << find (n);
    15.     return 0;
    16. }

  5. #5
    Ngày gia nhập
    04 2010
    Bài viết
    1,535

    @loveboom3012:
    cả hai hàm của bạn sai, hàm thính csdtl chỉ tính được đến số 99. Hàm tongcsdtl set tỏng trở về 0 mỗi lần gặp số không đạt cho nên mọi tổng trước đó mất hết.


    C Code:
    1. // hàm tìm xem chữ số đầu tiên của một số có phải là số lẻ
    2. int csdtle(int n)
    3. {
    4.   while (n > 9) n /= 10;
    5.   return (n & 1);
    6. }
    7.  
    8. // hàm tính tổng các số có chữ số đầu tiên lẻ
    9. int tongcsdle(int a[], int n)
    10. {
    11.   int tong=0;
    12.   for(int i=0; i<n; i++)  tong += a[i] * csdtle(a[i]); // tức là a[i] * 1 hoặc 0
    13.   return tong;
    14. }

Các đề tài tương tự

  1. Bán nhà HXH Đinh Tiên Hoàng 106 m2 chỉ 6 tỷ
    Gửi bởi hoangtambds trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 29-08-2013, 02:10 PM
  2. Lập trình C In k số nguyên tố đầu tiên có tổng các chữ số là chắn trong mảng, lỗi chỉ kiểm tra được với số đầu tiên?
    Gửi bởi ncn1992vn trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 23-11-2012, 10:20 PM
  3. Thứ tự ưu tiên các toán tử và ...???
    Gửi bởi whonghaiw trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 24-06-2012, 10:58 PM
  4. Bài tập C M bit đầu tiên biểu diễn N
    Gửi bởi zuro93 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 01-12-2011, 10:16 AM
  5. Mảng trên C Không in ra vị trí đầu tiên.
    Gửi bởi tuanvu199x trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 28-09-2011, 09:45 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn