C Program untuk Memeriksa Nombor Prime atau Armstrong Menggunakan Fungsi yang ditentukan oleh Pengguna

Dalam contoh ini, anda akan belajar untuk memeriksa sama ada bilangan bulat adalah nombor perdana atau Armstrong atau kedua-duanya dengan membuat dua fungsi yang berasingan.

Untuk memahami contoh ini, anda harus mempunyai pengetahuan mengenai topik pengaturcaraan C berikut:

  • C untuk Gelung
  • C sambil dan buat … sambil Gelung
  • C rehat dan teruskan
  • Fungsi C
  • Jenis Fungsi yang ditentukan pengguna dalam Pengaturcaraan C

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

The checkPrimeNumber()pulangan fungsi 1jika nombor yang dimasukkan oleh pengguna adalah nombor perdana. Begitu juga, checkArmstrongNumber()fungsi juga kembali 1jika nombor yang dimasukkan oleh pengguna adalah nombor Armstrong.

Lawati halaman ini untuk belajar untuk memeriksa sama ada nombornya

  • nombor perdana atau tidak
  • nombor 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; )

Pengeluaran

Masukkan bilangan bulat positif: 407 407 bukan nombor perdana. 407 adalah nombor Armstrong.

Artikel menarik...