【问题描述】

输入10个整数,将其中的最小数与第一个数对换,将最大数与最后一个数对换。

要求编写3个函数:① 输入10个数;② 处理数据;③ 输出10个数。

要求用指针完成。

【参考代码】

#include <stdio.h>
void in(int* p)
{
	printf("请输入十个整数:");
	int i;
	for (i = 0; i < 10; i++)
	{
		scanf("%d", p++);
	}
}
void deal(int* p)
{
	int i, min=0, max=0, temp;
	for (i = 1; i < 10; i++)
	{
		if (*(p + min) > *(p + i)) min = i;
		if (*(p + max) < *(p + i)) max = i;
	}
	temp = *p; *p = *(p + min); *(p + min) = temp;
	temp = *(p + 9); *(p + 9) = *(p + max); *(p + max) = temp;
}
void out(int* p)
{
	for (int i = 0; i < 10; i++) printf("%d ", *p++);
}
int main()
{
	int a[10], * p = a;
	in(p);
	deal(p);
	out(p);
	return 0;
}

【运行结果】

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐