基于visual Studio2013解决C语言竞赛题之1023判断排序

来源:互联网 发布:淘宝店铺推荐 编辑:程序博客网 时间:2024/06/07 06:50







题目


解决代码及点评

/*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