输入几个数,把素数找出,由小到大排序输出。c语言编写
时间: 2023-05-24 10:06:06 浏览: 97
#include <stdio.h>
// 判断一个数是否为素数
int is_prime(int n)
{
if (n <= 1) {
return 0;
}
int i;
for (i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main()
{
int nums[100];
int n, i, j;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
// 找出所有素数
int primes[100];
int len = 0;
for (i = 0; i < n; i++) {
if (is_prime(nums[i])) {
primes[len++] = nums[i];
}
}
// 冒泡排序,由小到大排序
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (primes[j] > primes[j + 1]) {
int temp = primes[j];
primes[j] = primes[j + 1];
primes[j + 1] = temp;
}
}
}
// 输出所有素数
for (i = 0; i < len; i++) {
printf("%d ", primes[i]);
}
printf("\n");
return 0;
}
阅读全文