C Chương trình kiểm tra số nguyên tố hoặc số Armstrong bằng hàm do người dùng định nghĩa

Trong ví dụ này, bạn sẽ học cách kiểm tra xem một số nguyên là số nguyên tố hay Armstrong hoặc cả hai bằng cách tạo hai hàm riêng biệt.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C sau:

  • C cho Vòng lặp
  • C while và do… while Loop
  • C nghỉ và tiếp tục
  • Chức năng C
  • Các loại hàm do người dùng định nghĩa trong lập trình C

Trong chương trình này, hai hàm do người dùng định nghĩa checkPrimeNumber()checkArmstrongNumber()được tạo.

Các checkPrimeNumber()hàm trả về 1nếu số nhập vào bởi người dùng là một số nguyên tố. Tương tự, checkArmstrongNumber()hàm cũng trả về 1nếu số do người dùng nhập là số Armstrong.

Truy cập các trang này để tìm hiểu cách kiểm tra xem một số

  • một số nguyên tố hay không
  • một số Armstrong hay không

Ví dụ: Kiểm tra Prime và Armstrong

 #include #include int checkPrimeNumber(int n); int checkArmstrongNumber(int n); int main() ( int n, flag; printf("Enter a positive integer: "); scanf("%d", &n); // check prime number flag = checkPrimeNumber(n); if (flag == 1) printf("%d is a prime number.", n); else printf("%d is not a prime number.", n); // check Armstrong number flag = checkArmstrongNumber(n); if (flag == 1) printf("%d is an Armstrong number.", n); else printf("%d is not an Armstrong number.", n); return 0; ) // function to check prime number int checkPrimeNumber(int n) ( int i, flag = 1, squareRoot; // computing the square root squareRoot = sqrt(n); for (i = 2; i <= squareRoot; ++i) ( // condition for non-prime number if (n % i == 0) ( flag = 0; break; ) ) return flag; ) // function to check Armstrong number int checkArmstrongNumber(int num) ( int originalNum, remainder, n = 0, flag; double result = 0.0; // store the number of digits of num in n for (originalNum = num; originalNum != 0; ++n) ( originalNum /= 10; ) for (originalNum = num; originalNum != 0; originalNum /= 10) ( remainder = originalNum % 10; // store the sum of the power of individual digits in result result += pow(remainder, n); ) // condition for Armstrong number if (round(result) == num) flag = 1; else flag = 0; return flag; )

Đầu ra

Nhập số nguyên dương: 407 407 không phải là số nguyên tố. 407 là một số Armstrong.

thú vị bài viết...