判断一个数是偶数还是素数 做相应处理并排序输出
Posted L的存在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断一个数是偶数还是素数 做相应处理并排序输出相关的知识,希望对你有一定的参考价值。
1 //有10个两位整数,把这些数作以下变化,如果它是素数, 2 //则把它乘以2,若它是偶数则除以2,其余的数减1, 3 //请将变化后的10个数按从小到大的次序打印出来。 4 //2017.3.7 5 #include <stdio.h> 6 #include <stdlib.h> 7 #include <math.h> 8 /* 9 判断整数n是否为质数 10 */ 11 int isPrimeNum(int n) 12 { 13 int isPrime = 1;//作为标记 是素数则为1 否0 14 if (n == 1) 15 { 16 return 0; 17 } 18 for (int i = 2; i <= (int)(sqrt((double)n)); i++) 19 { 20 if (n % i == 0) 21 { 22 isPrime = 0; 23 break; 24 } 25 } 26 return isPrime; 27 } 28 /* 29 冒泡法实现数组排序 30 */ 31 void sort23(int *a, int n) 32 { 33 34 for (int i = 0; i < n - 1; i++) 35 { 36 for (int j = 0; j < n - 1 - i; j++) 37 { 38 if (a[j] > a[j + 1]) 39 { 40 a[j] = a[j] ^ a[j + 1]; 41 a[j + 1] = a[j] ^ a[j + 1]; 42 a[j] = a[j] ^ a[j + 1]; 43 } 44 } 45 } 46 } 47 void main() 48 { 49 50 int a[10]; 51 for (int i = 0; i < 10; i++) 52 { 53 a[i] = 11 + rand()%100; 54 if (isPrimeNum(a[i])) 55 { 56 a[i] *= 2; 57 } 58 else if (a[i] % 2 == 0) 59 { 60 a[i] /= 2; 61 } 62 else 63 { 64 a[i] -= 1; 65 } 66 } 67 68 sort23(a, 10); 69 for (int i = 0; i < 10; i++) 70 { 71 printf("%-5d", a[i]); 72 } 73 printf("\\n"); 74 system("pause"); 75 }
以上是关于判断一个数是偶数还是素数 做相应处理并排序输出的主要内容,如果未能解决你的问题,请参考以下文章
输入 10 个整数,将这 10 个数按升序排列,并且奇数在前偶数在后?
代码实现:判断101-200之间有多少个素数(质数),并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。