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

Đề tài: tính tổng các chữ của 1 số nguyên

  1. #1
    Ngày gia nhập
    11 2008
    Bài viết
    7

    Mặc định tính tổng các chữ của 1 số nguyên

    Đề bài yêu cầu : tính tổng các chữ số của 1 số nguyên.
    Mình mới làm dc với các số có 2 chữ số...còn số có 3 chữ số trở lên thì đang bí...mong các bạn giúp !!!
    Code:
    //minh dung devC++
    #include <stdio.h>
    #include <windows.h>
    #include <math.h>
    
    int main()
    {
           int i, n, so, a, b, sum=0;
            	
    	system("cls");
    	printf("\nNhap so n = ");
    	scanf("%d", &n);
    	fflush(stdin);
    	so = int(log10(n)) + 1 ; // so cac chu so cua n
    	
    	for( i=0; i<=so ; i++){
    	   a = n/10;  // lay phan nguyen
    	   b = n%10;  // lay phan du
           }
    	sum = b+a;    //tong cac chu so
    	printf("%d", sum);
    	
    	system("pause");
    }
    Mình nghĩ dc thuat toan tinh tổng các số có từ 3 chữ số trở lên có lẽ fai dùng đệ qui . Nhưng mình vẫn chua xay dc 1 ham de qui...run ra toan sai dap so >.< .

    Thanks !!!

  2. #2
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Chỉ cần dùng vòng lặp thôi bạn ah, bạn xem cái này xem sao:

    C Code:
    1. int Sum(int n)
    2. {
    3.      int s=0;
    4.      while (n>0)
    5.     {
    6.           s += n % 10;
    7.           n= n/10;
    8.     }
    9.      return s;
    10. }

  3. #3
    Ngày gia nhập
    11 2008
    Bài viết
    7

    Bạn quanghoang cho mình hỏi. bài vừa rồi theo goi ý của bạn mình dã run thanh cong tren dev C++ nhung trong VC++2008. toàn tính ra =0
    code :
    Code:
    // minh vua moi down VC++ ve nen co the chua bit cach dug
    #include <stdafx.h>
    #include <stdio.h>
    #include <windows.h>
     
    int Sum(int n){
        int s=0;
        while(n>0){
            s += n % 10;
            n = n/10;
        }
        return s;
    }
    
    int main()
    {
            int  n, sum;
    
    	system("cls");
    	printf("\nNhap so n = ");
    	scanf_s("%0.2d", &n);
    	fflush(stdin);
    	sum = Sum(n);
            printf_s("%d", sum);
    	system("pause");
    }

  4. #4
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Vì bạn mới sử dụng nên chú ý chút, không cần đến thư viện tổng hợp #include <stdafx.h> hoặc dùng nó thì bỏ hết các thư viện khác. Không cần fflush(stdin) với các biến số.

    Bài của bạn sao không dùng scanf() và printf() bình thường lại đi dùng cái thêm _s. Và dùng scanf thì đừng định dạng nhập.

    C Code:
    1. #include <stdio.h>
    2. #include <windows.h>
    3.  
    4. int Sum(int n){
    5.     int s=0;
    6.     while(n>0){
    7.         s += n % 10;
    8.         n = n/10;
    9.     }
    10.     return s;
    11. }
    12.  
    13. int main()
    14. {
    15.            int  n, sum;
    16.     system("cls");
    17.     printf("\nNhap so n = ");
    18.     scanf("%d", &n);
    19.     sum = Sum(n);
    20.            printf("%d", sum);
    21.     system("pause");
    22. }
    Nếu dùng scanf_s() thì cú pháp như nè scanf_s("%s",&n,2); cấp phát cả kích thước bộ nhớ nữa.

    Chúc bạn học tốt!

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

  1. Bài tập C giải thuật nhập vào số nguyên n in ra n số nguyên tố đầu tiên?
    Gửi bởi LTC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 48
    Bài viết cuối: 25-04-2013, 07:40 PM
  2. Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên.
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 11
    Bài viết cuối: 19-06-2011, 01:05 PM
  3. Game Viết chương trình nhập số nguyên dương n, liệt kê n số nguyên tố đầu tiên trên C#?
    Gửi bởi maiit trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 18
    Bài viết cuối: 08-06-2011, 11:12 PM
  4. Bài tập C++ chương trình đổi 1 số nguyên trong hệ thập phân sang hệ fibo và cộng 2 số nguyên được
    Gửi bởi nghiapro512 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-01-2011, 02:14 PM
  5. Lập trình C xin code cài đặt thuật toán sàng nguyên tố để liệt kê các số nguyên tố 2->480000
    Gửi bởi ngocdung_088 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 23
    Bài viết cuối: 06-12-2010, 11:53 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