#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int func1(int a)
{
int k, i, b;
k = sqrt(a);
for (i = 2; i <= k; i++)
if (a % i == 0)break;
if (i > k)//i为什么会大于k呢(循环停止的条件决定的,i是整数,素数的sqr()是小数,循环截止条件会大于这个小数)
b = 1;
else
b = 0;
return b;
}
int func2(int a[100], int n)
{
int i, j, m;
for (i = 0; i < n; i++)
for (j = 0; j < n - 1 - i; j++)
if (a[j] > a[j + 1])
{
m = a[j];
a[j] = a[j + 1];
a[j + 1] = m;
}
return 0;
}
int main()
{
int n, a[100] = { "\0" }, i;
printf("input\n");
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &a[i]);
func2(a, n);
for (i = 0; i <= n; i++)
if (func1(a[i]) == 1 && a[i] != 1 && a[i] !
21 - 编写两个函数,将n个正整数中的素数按升序排序。函数1功能:判断一个数是否为素数。函数2功能:对数组进行排序。输入分2行:第一行为n的值,第二行为n个整数。要求输入输出均在主函数中完成。
这篇博客介绍了如何使用C语言编写两个函数来实现素数排序。第一个函数用于判断一个数是否为素数,第二个函数负责对包含n个正整数的数组进行升序排序。博客讨论了全局变量在代码中的使用,指出这种方法可能降低代码的可迁移性。
摘要由CSDN通过智能技术生成