将输入的整数排序并指定位置逆序存放
来源:互联网 发布:淘宝美工接单价格 编辑:程序博客网 时间:2024/05/29 02:53
输入n个整数,编写函数实现以下操作,要求用指针实现:①对n个数进行排序;
②将从指定位置的m个数逆序存放;例如:原序列为2,4,6,8,10,12,14,16,18,20,若要求把从第4个数开始的5个数按逆序重新排列,则得到的新数列为2,4,6,16,14,12,10,8,18,20)。
③输出这组数.
#include <stdio.h>#include <time.h>#include <stdlib.h>#include <string.h>#define max 100int sort(int *array, int n){ int i,j,k; for(i=0;i<n;i++) { k=i; for(j=i+1;j<n;j++) { if (array[j]<array[k]) k=j; } if(i!=k) { j=array[i]; array[i]=array[k]; array[k]=j; } } return 0;}int reverse(int *array, int begin, int length){ int i, temp; int *p,*q; for(p=array+begin-1,q=array+begin+length-2;p<q;p++,q--) { temp=*p; *p=*q; *q=temp; } return 0;}int output(int *array, int n){ int i; for(i=0;i<n;i++) printf("%3d ", array[i]); printf("\n"); return 0;}int main(){ int i,n; int array[max]; int begin,length; printf("请输入数据的个数:\n"); scanf("%d",&n); printf("请输入数据:\n"); for(i=0;i<n;i++) scanf("%d",&array[i]); sort(array,n); printf("排序结果为:\n"); output(array,n); printf("请输入开始的位置和逆序数字的个数:\n"); scanf("%d%d",&begin,&length); reverse(array,begin,length); output(array,n); return 0;}
0 0
- 将输入的整数排序并指定位置逆序存放
- 输入n个整数,编写函数实现以下操作,要求用指针实现: (1) 对n个数进行排序; (2) 将从指定位置的m个数逆序存放,例如:原序列为2,4,6,8,10,12,14,16,18,20,若要求把
- 输入10个整数,将它们从小到大排序后输出,并给出现在每个元素在原来序列中的位置。
- 将输入的若干整数逆序建立一单链表
- 做的练习题,输入整数,逆序输出,并输出位数。
- C输入一个字符串,将其中连续的数字做为一个整数存放在一个整形数组中,统计其中数字的个数并输出这些整数。
- 将输入的十个整数从小到大排序
- 输入整数,返回数组,并代替某些位置的数
- 将一个字符串逆序存放的程序
- 输入一个整数,将这个整数以字符串的形式逆序输出
- 输入一个整数,将这个整数以字符串的形式逆序输出
- webpack打包并将文件加载到指定的位置
- 找出包含指定数字的整数并排序
- 02_对N个长度最长可达到1000的数进行排序、对给定的一个字符串,找出有重复的字符,并给出其位置、输入一系列整数,将其中最大的数挑出,并将剩下的数进行排序
- 输入一长串字符串,并对指定的开始位置和结束位置内的字符串反转
- 超长数列中的n个整数排序,要求能够把从指定位置m开始的n个数排列成降序,并输出完整的数列
- (c语言)输入一个整数,将其逆序输出
- 输入10个整数存入一维数组,再按逆序重新存放后再输出。
- 3K工资与8K工资的差距,不仅仅是钱!
- 扩展欧拉函数
- 解决MySQL不允许从远程访问
- svn提交时强制注释
- 奇异的恩典
- 将输入的整数排序并指定位置逆序存放
- 设计模式之创建模式
- Linux(Centos6.5)下安装svn服务器,并通过http访问
- 如何处理Tableview中cell的单选问题
- Unity学习笔记(2) --- Unity脚本的生命周期
- poj3273
- cocos2d-x v2 和 v3 对照手册
- 设计模式之单例、多例模式
- unity 延时调用方法