首页 > 代码库 > 判断一个数是偶数还是素数 做相应处理并排序输出
判断一个数是偶数还是素数 做相应处理并排序输出
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 }
判断一个数是偶数还是素数 做相应处理并排序输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。