
题目
解决代码及点评
/* 23. 有10个两位整数,把这些数作以下变化,如果它是素数, 则把它乘以2,若它是偶数则除以2,其余的数减1, 请将变化后的10个数按从小到大的次序打印出来。 */ #include <stdio.h> #include <stdlib.h> #include <math.h> /* 判断整数n是否为质数 是:返回1 否:返回0 */ int isPrimeNumber(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 sort23(int *a,int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1 - i; j++) { if (a[j] > a[j + 1]) { a[j] = a[j] ^ a[j + 1]; a[j + 1] = a[j] ^ a[j + 1]; a[j] = a[j] ^ a[j + 1]; } } } } void main() { const int N = 10; int a[N]; for(int i = 0; i < N; i++) { a[i] = 11 + rand() % 89; if (isPrimeNumber(a[i])) { a[i] *= 2; } else if (a[i] % 2 == 0) { a[i] /= 2; } else { a[i] -= 1; } } sort23(a,N); for (int i = 0; i < N; i++) { printf("%-5d",a[i]); } printf("\n"); system("pause"); }
代码编译以及运行
由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:
1)新建工程
2)选择工程
3)创建完工程如下图:
4)增加文件,右键点击项目
5)在弹出菜单里做以下选择
6)添加文件
7)拷贝代码与运行
程序运行结果
代码下载
http://download.csdn.net/detail/yincheng01/6681845
解压密码:c.itcast.cn