homework之数组

来源:互联网 发布:snmp网络管理系统 编辑:程序博客网 时间:2024/05/18 03:33
// swapimn2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<malloc.h>#include<iostream>using namespace std;void swap(int *a,int m,int n);void ex(int *a,int i);int _tmain(int argc, _TCHAR* argv[]){int i,m,n;cout<<"请输入数组长度\n";cin>>i;int *a = (int *)malloc(i*sizeof(int));cout<<"请输入数组内容,以回车间隔\n";for (int t = 0; t < i; t++)cin>>a[t];cout<<"请输入m,n的值\n";cin>>m>>n;//输入mn的值swap(a,m,n);//交换顺序cout<<"结果为\n";for (int t = 0; t<i; t++) //循环输出cout<<a[t]<<endl;return 0;}void swap(int *a,int m,int n){ex(a,m+n);//交换整个数组元素的顺序ex(a,m);//交换前m个元素的顺序ex(a+m,n);//交换后n个元素的顺序,注意首地址变成了*a+n}void ex(int *a,int i)//颠倒数组内元素顺序{for (int j = 0; j < i; j++){if (j>=i-j) break;//交换到一半停止。这样避免了奇偶判断int temp = a[j];a[j] = a[i-j-1];a[i-j-1] = temp;//交换两个元素的位置}}

0 0
原创粉丝点击