【ACM】1044:最小最大数兑换
2015-10-27 13:11
344 查看
题目描述
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。
输入
10个整数
输出
整理后的十个数,每个数后跟一个空格(注意最后一个数后也有空格)
样例输入
2 1 3 4 5 6 7 8 10 9
样例输出
1 2 3 4 5 6 7 8 9 10
代码如下:
#include <stdio.h> void Import(int arr[]) { int i; for(i = 0; i < 10; ++i) { scanf("%d",&arr[i]); } } void Show(int arr[]) { int i; for(i = 0; i < 10; ++i) { printf("%d ",arr[i]); } printf("\n"); } void Deal(int *arr) { int i, k1 = 0, k2 = 0; int max = arr[0]; int min = arr[0]; for(i = 0; i < 10; ++i) { if(min > arr[i]) { min = arr[i]; k1 = i; } if(max < arr[i]) { max = arr[i]; k2 = i; } } if(k1 == 9 && k2 == 0) { arr[0] = min; arr[9] = max; } else if(k1 == 0 && k2 == 9) { return; } else if(k2 == 0) { arr[0] = min; arr[k1] = arr[9]; arr[9] = max; } else if(k1 == 9) { arr[9] = max; arr[k2] = arr[0]; arr[0] = min; } else { arr[k1] = arr[0]; arr[k2] = arr[9]; arr[0] = min; arr[9] = max; } } int main() { int a[10] = {0}; Import(a); Deal(a); Show(a); return 0; }
相关文章推荐
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构
- 探讨C语言的那些小秘密之断言
- C语言实现BMP转换JPG的方法
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- C语言查找数组里数字重复次数的方法
- C语言泛型编程实例教程
- C语言中使用lex统计文本文件字符数
- 在C语言中转换时间的基本方法介绍
- C语言进制转换代码分享