题目内容:输入10个正整数到a数组中,对a[10]数组中的素数升序排序。 输入格式:在一行中输入10个用英文逗号,隔开的正整数。 输出格式:在一行中输出升序的素数序列,每个数之间用英文逗号,隔开,末尾没有多余的
时间: 2024-02-25 20:55:38 浏览: 82
代码如下:
```
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void sort(int a[], int len) {
for (int i = 0; i < len - 1; i++) {
for (int j = i + 1; j < len; j++) {
if (a[i] > a[j]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
int main() {
int a[10];
for (int i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
int primes[10];
int prime_count = 0;
for (int i = 0; i < 10; i++) {
if (is_prime(a[i])) {
primes[prime_count++] = a[i];
}
}
sort(primes, prime_count);
for (int i = 0; i < prime_count; i++) {
printf("%d", primes[i]);
if (i != prime_count - 1) {
printf(",");
}
}
return 0;
}
```
输入示例:
```
1,2,3,4,5,6,7,8,9,10
```
输出示例:
```
2,3,5,7
```
阅读全文