Program C untuk Memeriksa Nomor Prime atau Armstrong Menggunakan Fungsi yang Ditentukan Pengguna

Dalam contoh ini, Anda akan belajar untuk memeriksa apakah bilangan bulat adalah bilangan prima atau Armstrong atau keduanya dengan membuat dua fungsi terpisah.

Untuk memahami contoh ini, Anda harus memiliki pengetahuan tentang topik pemrograman C berikut ini:

  • C untuk Loop
  • C sementara dan lakukan… saat Loop
  • C istirahat dan lanjutkan
  • Fungsi C.
  • Jenis Fungsi yang Ditentukan Pengguna dalam Pemrograman C.

Dalam program ini, dua fungsi yang ditentukan pengguna checkPrimeNumber()dan checkArmstrongNumber()dibuat.

The checkPrimeNumber()fungsi kembali 1jika jumlah yang dimasukkan oleh pengguna adalah bilangan prima. Demikian pula, checkArmstrongNumber()fungsi juga mengembalikan 1jika nomor yang dimasukkan oleh pengguna adalah nomor Armstrong.

Kunjungi halaman ini untuk mempelajari cara memeriksa apakah suatu nomor adalah

  • bilangan prima atau tidak
  • nomor Armstrong atau tidak

Contoh: Periksa Prime dan 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; )

Keluaran

Masukkan bilangan bulat positif: 407 407 bukan bilangan prima. 407 adalah nomor Armstrong.

Artikel yang menarik...