利用函数和指针实现最小数和第一个数交换,最大数和最后一个数交换

原创 2011年10月10日 12:42:13
/*

  写三个函数,输入函数,输出函数,处理函数,找出输入数中最小的数,和第一个数交换,最大的数和最后一个数交换
*/
# include <stdio.h>

void inFunc(int * a,int n);
void outFunc(int * a,int n);
void swap(int * p, int * q);
void workFunc(int * a, int n);

int main(void)
{
	int a[10];
	int *p = a;

	inFunc(p, 9);
	
	workFunc(p, 9);

	outFunc(p, 9);
	//printf("min = %d\n", t);
	//printf("max = %d\n", m);
	
	return 0;
}

//输入函数
void inFunc(int * a,int n)
{
	int i;
	for (i = 0; i <= n; i++)
	{
		scanf("%d", &a[i]);
	}
	
}

//输出函数
void outFunc(int * a,int n)
{
	int i;
	for (i = 0; i <= n; i++)
		printf("%d ", a[i]);
	printf("\n");
	
}

//处理函数
void workFunc(int * a, int n)
{
	int i;
	int j;
	int k;
	int t = *a;
	int m = *a;
	for (i = 0; i <= n; i++)
	{
		
		if (t >= *(a+i))
		{
			t = *(a+i);
			j = i;
		}
		if (m <= *(a+i))
		{
			m = *(a+i);
			k = i;
		}
	}
	swap(a, a+j);
	swap(a+9, a+k);
}

//交换函数
void swap(int * p, int * q)
{
	int temp;
	temp = *p;
	*p = *q;
	*q = temp;
}

相关文章推荐

随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址

题目:随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址,具体实现如下:...

随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址

题目:随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址,具体实现如下: [cpp] view plaincopy ...

1.将数组A中的内容和数组B中的内容进行交换。(数组一样大) 2.获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。 3.将三个数按从大到小输出。 4.求两个数的最大公约数。

#define _CRT_SECURE_NO_WARNINGS 1 #include #include //1.将数组A中的内容和数组B中的内容进行交换。(数组一样大) //void swap...

有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。(指针)

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 ...

Windows平台下GCC编程之从键盘输入3个整数,求其中的最大数和最小数,并输出结果

代码都是我自己练习写的,如果有什么不妥,自己修改就行了,在Code::Blocks16.01+GCC4.9.2 for Windows上编译运行成功//1. 从键盘输入3个整数,求其中的最大数和最小数...

同时寻找最大数和最小数的最优算法

我们知道,在一个容量为n的数据集合中寻找一个最大数,不管用什么样的比较算法,至少要比较n-1次,就算是用竞标赛排序也得比较n-1次,否则你找到的就不能保证是最大的数。那么,在一个容量为n的数据集合中同...

定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

定义一个由整数组成的数组,然后输入一个整数x,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j;若X在此数组中,则返回数组中这个数的位置。...

【算法拾遗】最大数和最小数

求一个数组中的最大值和最小值,我们一般的做法是扫描一遍数组求的最大值,扫描一遍数组求最小值,这样做需要比较2N次才能求解。而实际上我们可以比较1.5N次即可得到结果。考虑如下几种方法。 方法...

同时寻找最大数和最小数的最优算法以及寻找最大的两个数所需的最少比较次数

同时寻找最大数和最小数的最优算法以及寻找最大的两个数所需的最少比较次数...

2016阿里笔试题:一个最小数,一个最大数地,重排数组

2017阿里笔试题:一个最小数,一个最大数地,重排数组@(algorithm)问题描述2017阿里笔试题原始数组是排好序的,如:[0,1,2,3,4,5,6]结果数组是一个最小数,一个最大数地重排数组...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用函数和指针实现最小数和第一个数交换,最大数和最后一个数交换
举报原因:
原因补充:

(最多只允许输入30个字)