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

时间:2022-03-12 07:06:40





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

题目

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

解决代码及点评


/*
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)新建工程

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

2)选择工程

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

3)创建完工程如下图:

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

4)增加文件,右键点击项目

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

5)在弹出菜单里做以下选择

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

6)添加文件

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

7)拷贝代码与运行

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

程序运行结果

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

代码下载

http://download.csdn.net/detail/yincheng01/6681845

解压密码:c.itcast.cn






基于visual Studio2013解决C语言竞赛题之1023判断排序的更多相关文章

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

          题目 解决代码及点评 /********************************************************************** ...

  2. 基于visual Studio2013解决C语言竞赛题之0601判断素数函数

           题目 解决代码及点评 //编写一函数判断一个数是否为素数 #include<stdio.h> #include <stdlib.h> # ...

  3. 基于visual Studio2013解决C语言竞赛题之0515国名排序

     题目

  4. 基于visual Studio2013解决C语言竞赛题之0506选择排序

     题目

  5. 基于visual Studio2013解决C语言竞赛题之0611素数排序

       题目

  6. 基于visual Studio2013解决C语言竞赛题之0904文件排序

       题目

  7. 基于visual Studio2013解决C语言竞赛题之0809链表排序

     题目

  8. 基于visual Studio2013解决C语言竞赛题之1067间隔排序

        题目 解决代码及点评 /* 功能:间隔元素排序.用随机函数产生25个[25,75]之间的整数, 把它送到一维数组M中. 要求对M[I],M[I+J],M[I+2*J],-这些元 ...

  9. 基于visual Studio2013解决C语言竞赛题之0401阶乘

      题目 解决代码及点评 这个是一道经典的教科书题目,基本上每本基础的c/c++语言教科书都会有这个题目 用来演示循环语句 #include <stdio.h> #include ...

随机推荐

  1. Zygote进程【1】——Zygote的诞生

    在Android中存在着C和Java两个完全不同的世界,前者直接建立在Linux的基础上,后者直接建立在JVM的基础上.zygote的中文名字为"受精卵",这个名字很好的诠释了zy ...

  2. Android Studio (Gradle)编译错误

    Error:Execution failed for task ':app:processDebugResources' .com.android.ide.common.process.Process ...

  3. &lbrack;工作积累&rsqb; GCC 4&period;6 new&lbrack;&rsqb; operator内存对齐的BUG

    对于用户没有定义dctor(包括其所有成员)的类来说, new CLASS[n] 可能会直接请求sizeof(CLASS)*n的空间. 而带有dctor的 类, 因为delete[]的时候要逐个调用析 ...

  4. Bluetooth

    Android provides a default Bluetooth stack, BlueDroid, that is divided into two layers: The Bluetoot ...

  5. 编程内功修炼之数据结构—BTree(二)实现BTree插入、查询、删除操作

    1 package edu.algorithms.btree; import java.util.ArrayList; import java.util.List; /** * BTree类 * * ...

  6. Codekart 框架

    [Node.js框架] 为什么要开发 Codekart 框架 两年前,在被php的$符号和字符串处理折磨得半夜骂娘之后,我义无反顾地决定:珍爱生命,远离php. 之后一直在寻找一门“完美的语言”,先后 ...

  7. centos 7&period;1系统更改Mariadb数据存储位置步骤分享

    一.首先确保你要更改Mariadb数据存储的位置的空间够大 现在已将Mariadb存储位置更改到/opt/目录下 1.然后将Mariadb服务stop:systemctl stop mariadb 2 ...

  8. git常用命令行总结

    Git是当今最流行的版本控制工具.这几年GitHub也干掉了GoogleCode和Sourceforge,从三大代码仓库中脱颖而出,除了GitHub自身的优秀外,Git也是功不可没. 为何Git如此出 ...

  9. 网络互联技术(2)——前篇—【转载】电脑结构和CPU、内存、硬盘三者之间的关系

    原文链接:传送门 详细内容: 电脑结构和CPU.内存.硬盘三者之间的关系 前面提到了,电脑之父——冯·诺伊曼提出了计算机的五大部件:输入设备.输出设备.存储器.运算器和控制器. 我们看一下现在我们电脑 ...

  10. &lbrack;渣译文&rsqb; 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型

    英文渣水平,大伙凑合着看吧…… 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇: ...