题目
解决代码及点评
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
/*
判断整数n是否为质数
是:返回1
否:返回0
*/
int isPrimeNum1(int n)
{
int isPrime = 1;
if (n == 1)
{
return 0;
}
for (int i = 2; i <= (int)(sqrt((double)n)); i++)
{
if (n % i == 0)
{
isPrime = 0;
break;
}
}
return isPrime;
}
// 排序采用冒泡进行
void sort1(int *a,int n)
{
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (a[i] > a[j])
{
a[i] = a[i] ^ a[j];
a[j] = a[i] ^ a[j];
a[i] = a[i] ^ a[j];
}
}
}
}
void main()
{
const int N = 20;
int a[N];
int index = 0;
int data;
for (int i = 0; i< N;i++)
{
scanf_s("%d",&data); // 输入数字
if (isPrimeNum1(data)) // 判断是否素数,如果是则保存在a数组中
{
a[index++] = data;
}
}
sort1(a,index); // 对a数组进行排序
for (int i = 0; i < index; i++) // 打印数组
{
printf("%-3d",a[i]);
}
printf("\n");
system("pause");
}
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果