C Chương trình tìm tổng các chữ số của một số – GraphGuide.org

Làm thế nào để viết một chương trình C để Tìm tổng các chữ số của một số bằng cách sử dụng Vòng lặp For, Vòng lặp Trong khi, Hàm và Đệ quy?.

C Chương trình tìm tổng các chữ số của một số bằng Vòng lặp While

Tổng các chữ số này trong chương trình C cho phép người dùng nhập bất kỳ số nguyên dương nào. Sau đó, chương trình c sẽ chia số đã cho thành các chữ số riêng lẻ và cộng các chữ số riêng lẻ đó (Tổng) bằng cách sử dụng Vòng lặp Trong khi

#include <stdio.h>

int main()
{
  int Number, Reminder, Sum=0;

  printf("n Please Enter any numbern");
  scanf("%d", &Number);

  while(Number > 0)
  {
     Reminder = Number % 10;
     Sum = Sum+ Reminder;
     Number = Number / 10;
  }

  printf("n Sum of the digits of Given Number = %d", Sum);

  return 0;
}

Chương trình này cho tổng các chữ số trong c cho phép bạn nhập bất kỳ số nguyên dương nào và sau đó số đó được gán cho biến Số.

Tiếp theo, Điều kiện trong Vòng lặp Trong khi sẽ đảm bảo rằng số đã cho lớn hơn 0 (Có nghĩa là Số nguyên dương và lớn hơn 0)

Đối với trình diễn Chương trình C để Tìm Tổng các chữ số, giá trị do Người dùng nhập: Number = 4567 và Sum = 0

Lặp lại đầu tiên
Nhắc nhở = Số% 10
Lời nhắc = 4567% 10 = 7

Sum = Tổng + Nhắc nhở
Tính tổng = 0 + 7 => 7

Number = Số / 10
Số = 4567/10 => 456

Lặp lại lần thứ hai
Từ Lặp lại đầu tiên của chương trình C này, giá trị của cả Số và Tổng đã thay đổi thành Số = 456 và Tổng = 7

Lời nhắc = 456% 10 = 6

Tính tổng = 7 + 6 => 13

Số = 456/10 => 45

Lặp lại lần thứ ba
Từ Lặp lại thứ hai của tổng các chữ số trong chương trình c, giá trị của cả hai giá trị đã thay đổi thành Number = 45 và Sum = 13

Lời nhắc = 45% 10 = 5

Tổng = 13 + 5 = 18

Số = 45/10 = 4

Lặp lại lần thứ tư: Từ lần lặp thứ ba, Number = 4 và Sum = 18

Lời nhắc = 4% 10 = 4

Tổng = 18 + 4 = 22

Số = 4/10 = 0

Ở đây, Number = 0. Vì vậy, điều kiện vòng lặp while sẽ không thành công

Câu lệnh printf của Lập trình C cuối cùng sẽ in ra tổng cộng các chữ số dưới dạng đầu ra. Vì vậy, đầu ra của biến 4567 đã cho là:

C Chương trình tìm tổng các chữ số của một số bằng For Loop

Chương trình này cho tổng các chữ số trong c cho phép người dùng nhập bất kỳ số nguyên dương nào. Tiếp theo, nó sẽ chia giá trị đã cho thành các chữ số riêng lẻ. Bằng cách thêm các chữ số đơn lẻ đó, chương trình c này tìm tổng các chữ số của một số bằng For Loop

#include <stdio.h>

int main()
{
  int Num, Reminder, Sm;

  printf("nPlease Enter any valuen");
  scanf("%d", &Num);

  for (Sm=0; Num > 0;Num=Num/10)
  {
     Reminder = Num % 10;
     Sm=Sm+ Reminder;  
  }

  printf("n Sum of the digits = %d", Sm);
  return 0;
}

Chúng tôi vừa thay thế vòng lặp While trong ví dụ chữ số ở trên bằng vòng lặp For.

Please Enter any value
1234

 Sum of the digits = 10

C Chương trình tìm tổng các chữ số của một số bằng các hàm

Tổng các chữ số này trong một chương trình số chia số nguyên đã cho thành các chữ số riêng lẻ và thêm các chữ số đó bằng cách sử dụng Hàm

#include <stdio.h>

int SmOfDig (int); 

int main()
{
  int Num, Sm = 0;

  printf("n Please Enter any numbern");
  scanf("%d", &Num);

  Sm = SmOfDig (Num);

  printf("n Sum of the digits = %d", Sm);
  return 0;
}

int SmOfDig (int Num)
{
  int Reminder, Sm;

  for (Sm=0; Num > 0;Num=Num/10)
  {
     Reminder = Num % 10;
     Sm=Sm+ Reminder;  
  }     

 return Sm;
}
 Please Enter any number
986

 Sum of the digits = 23

Trong chương trình c này để tìm tổng các chữ số trong một số, khi trình biên dịch đến dòng SmOfDig (Num) trong chương trình main () thì trình biên dịch sẽ ngay lập tức chuyển đến hàm bên dưới:

int SmOfDig (int Num)

Chúng tôi đã giải thích về ví dụ LOGIC ở trên. Vui lòng tham khảo Chương trình C để Tìm Tổng các chữ số của một số cho trước bằng cách sử dụng phần Phân tích vòng lặp While.

Dòng cuối cùng kết thúc bằng một đầu ra trả về.

LƯU Ý: Nếu chúng ta tạo một hàm bằng Void, thì không cần trả về bất kỳ giá trị nào. Tuy nhiên, nếu chúng ta khai báo một hàm với bất kỳ kiểu dữ liệu nào (int, float, v.v.), chúng ta phải trả về một thứ gì đó từ hàm.

C Chương trình tìm tổng các chữ số của một số bằng cách sử dụng đệ quy

Chương trình này cho tổng các chữ số cho phép người dùng nhập bất kỳ số nguyên dương nào. Tiếp theo, nó chia số thành các chữ số riêng lẻ và cộng các chữ số đó (Tổng các chữ số) bằng cách gọi hàm một cách đệ quy. Vui lòng tham khảo Đệ quy trong C để tham khảo thêm

#include <stdio.h>

int SmODit (int); 

int main()
{
  int n, tot = 0;

  printf("nPlease Enter any valuen");
  scanf("%d", &n);

  tot = SmODit (n);

  printf("nSum of the digits  = %d", tot);
  return 0;
}

int SmODit (int n)
{
  static int Reminder, tot=0;

  if(n > 0)
  {
    Reminder = n % 10;
    tot = tot + Reminder;
    SmODit (n / 10);
    return tot;
  }
 else
   return 0;
}
Please Enter any value
65

Sum of the digits = 11

Trong ví dụ này, Khi trình biên dịch đến dòng SmODit (n) trong chương trình main () thì ngay lập tức trình biên dịch sẽ chuyển đến hàm bên dưới:

int SmODit (int n)

Trong hàm này, biến Static sẽ chỉ khởi tạo giá trị khi hàm được gọi lần đầu tiên.

Câu lệnh SmODit (n / 10) sẽ giúp gọi hàm một cách đệ quy với giá trị được cập nhật. Nếu bạn bỏ lỡ câu lệnh này trong Chương trình C để Tìm Tổng các chữ số thì sau khi hoàn thành dòng đầu tiên, nó sẽ kết thúc.

Ví dụ: n = 4567 thì đầu ra sẽ là 7

Hãy xem điều kiện Nếu,

if (n> 0) sẽ kiểm tra xem nó có lớn hơn 0 hay không. Đối với các hàm đệ quy, điều cần thiết là phải đặt một điều kiện trước khi sử dụng hàm đệ quy. Nếu không, chúng ta sẽ thực hiện vô hạn (Giống như Infinite Loop).