Program C untuk Menampilkan Nombor Perdana Antara Dua Selang

Dalam contoh ini, anda akan belajar mencetak semua nombor perdana antara dua nombor yang dimasukkan oleh pengguna.

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

  • C jika… lain Penyataan
  • C untuk Gelung
  • C rehat dan teruskan

Paparkan Nombor Perdana Antara Dua Selang

 #include int main() ( int low, high, i, flag; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); printf("Prime numbers between %d and %d are: ", low, high); // iteration until low is not equal to high while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) // if low is a non-prime number, flag will be 1 for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); // to check prime for the next number // increase low by 1 ++low; ) return 0; )

Pengeluaran

 Masukkan dua nombor (selang): 20 50 Nombor perdana antara 20 dan 50 adalah: 23 29 31 37 41 43 47 

Dalam program ini, whilegelung berulang high-low-1kali ( ) kali.

Dalam setiap lelaran, sama ada lownombor perdana atau tidak dicentang, dan nilainya lowbertambah 1hingga lowsama dengan high.

Lawati halaman ini untuk mengetahui lebih lanjut mengenai bagaimana untuk memeriksa sama ada nombor adalah prima atau tidak.

Sekiranya pengguna memasukkan jumlah yang lebih besar terlebih dahulu, program di atas tidak berfungsi seperti yang diharapkan. Anda boleh menyelesaikan masalah ini dengan menukar nombor.

Paparkan Nombor Perdana apabila Nombor Besar Dimasukkan dahulu

 #include int main() ( int low, high, i, flag, temp; printf("Enter two numbers(intervals): "); scanf("%d %d", &low, &high); // swap numbers if low is greather than high if (low> high) ( temp = low; low = high; high = temp; ) printf("Prime numbers between %d and %d are: ", low, high); while (low < high) ( flag = 0; // ignore numbers less than 2 if (low <= 1) ( ++low; continue; ) for (i = 2; i <= low / 2; ++i) ( if (low % i == 0) ( flag = 1; break; ) ) if (flag == 0) printf("%d ", low); ++low; ) return 0; )

Lawati halaman ini untuk mengetahui bagaimana anda dapat menampilkan semua nombor perdana antara kedua selang dengan membuat fungsi yang ditentukan pengguna

Artikel menarik...