博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于visual Studio2013解决C语言竞赛题之1033数字交换
阅读量:4518 次
发布时间:2019-06-08

本文共 1494 字,大约阅读时间需要 4 分钟。








题目

解决代码及点评

 
 
 
 
 
/*功能:将一个一维数组中的偶数依次交换。例如有8个元素, 若其中第1、4、5三元素是偶数时应按下图交换。	  例子: a[]={2,3,1,6,8,7,9,5}	change to    {8, 3, 1, 2, 6, 7, 9, 5} 日期:17:04 2013/10/24*/#include
#include
#include
#define N 10int *getFirst(int a[],int n);int *getLast(int a[],int n);void main(){ int a[N]; time_t t; srand((unsigned)time(&t)); //随机函数发生器 for (int i = 0; i < N; i++) //随机赋值并打印 { a[i] = rand() % 90 + 10; printf("%-3d",a[i]); } int *pLast = getLast(a, N); //将最后一个偶数的地址赋给plast int lastValue = *pLast; int *pFirst = getFirst(a,N); //将第一个偶数的地址赋给pfirst //从后最后一个偶数开始往前轮循,到第一个偶数为止 for (int *p = pLast - 1; p >= pFirst; p--) { if (*p % 2 == 0) { *pLast = *p; //将当前偶是赋给下一个偶数 pLast = p; //将当前偶数赋给标识变量pLast } } *pFirst = lastValue; //将最后一个偶数赋给第一个偶数的地址 printf("\n\n\n"); for (int i = 0; i < N; i++) //随机赋值并打印 { printf("%-3d", a[i]); } system("pause");}int *getFirst(int a[], int n){ int *pFirst = NULL; for (int *p = a; p < a + N; p++) //数组中最后一个偶数的地址赋给pLast; { if (*p % 2 == 0) { pFirst = p; break; } } return pFirst;}int *getLast(int a[], int n){ int *pLast = NULL; for (int *p = a + n - 1; p >= a; p--) //数组中最后一个偶数的地址赋给pLast; { if (*p % 2 == 0) { pLast = p; break; } } return pLast;}

代码编译以及运行

由于资源上传太多,资源频道经常被锁定无法上传资源,同学们可以打开VS2013自己创建工程,步骤如下:

1)新建工程

2)选择工程

3)创建完工程如下图:

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

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

6)添加文件

7)拷贝代码与运行

程序运行结果

代码下载

解压密码:c.itcast.cn






转载于:https://www.cnblogs.com/new0801/p/6177451.html

你可能感兴趣的文章
[转]人人店短信插件开发
查看>>
[转]c# System.IO.Ports SerialPort Class
查看>>
14. 最长公共前缀
查看>>
Redis文档
查看>>
项目重构
查看>>
iOS 开发 证书总结 开发证书和生产证书的区别
查看>>
(笔试题)和一半的组合数
查看>>
leetcode--Algorithm--Array_Part 1 Easy- 566 Reshape the Matrix
查看>>
AC自动机算法详解 (转载)
查看>>
python3-day5(模块)
查看>>
Linux配置JDK
查看>>
qt 读取xml文件
查看>>
python3之正则表达式
查看>>
Visual Studio提示“无法启动IIS Express Web服务器”的解决方法
查看>>
Java 时间总结
查看>>
JavaScript 累加求和练习
查看>>
jQuery EasyUI 拖放 – 基本的拖动和放置
查看>>
计算累进税类问题
查看>>
ThinkInJava之内部类
查看>>
licode学习之erizo篇--WebrtcConnection
查看>>