当前位置: 首页 > article >正文

C语言:输入10个整数,写一个函数将其中最小的数和第一个数对换,把最大的数和最后一个数对换。(指针)

分析:

    定义三个函数:input、sort、print。其中,input 函数用于输入十个整数,sort 函数用于对这十个整数进行排序,print 函数用于输出排序后的十个整数。这三个函数都是 void 类型,即不返回任何值。

   在主函数 main 中,定义一个数组 n,用于存储输入的十个整数。首先调用 input 函数,读取输入的十个整数,并将它们存储到数组 n 中。然后调用 sort 函数,对数组 n 中的十个整数进行排序。最后调用 print 函数,输出排序后的十个整数。

   input函数中使用指针变量来访问数组中的元素,例如 n 代表数组中第一个元素的值,(n+1) 代表数组中第二个元素的值,以此类推。程序使用 for 循环对数组中的每个元素进行读取。

   sort 函数中使用指针变量来进行最大值和最小值的查找和交换操作。首先定义指针变量 p、max、min,并初始化 max 和 min 的值为数组中第一个元素的地址。然后使用 for 循环遍历数组中的每个元素,查找最大值和最小值,并使用指针变量 max 和 min 分别保存它们的地址。最后执行交换操作,将最小值放到数组的第一个位置,将最大值放到数组的最后一个位置。

  print 函数中使用指针变量来访问数组中的元素,并使用 for 循环遍历数组中的每个元素,将它们输出到屏幕上。

代码:

#include <stdio.h>
int main()
{
	void input(int *);
	void sort(int *);
	void print(int *);
	int n[10];
	input(n);
	sort(n);
	print(n);
	return 0;
}
void input(int *n)
{
    int i;
	printf("Please enter 10 numbers: ");
    for (i=0;i<10;i++)
		scanf("%d",&n[i]);
}
void sort(int *n)
{
	int *p,*min, *max, t;
	max = min = n;
    for (p = n+1;p<n+10;p++)
        if (*p>*max)
			max = p;
		else if (*p<*min)
			min = p;
	t = n[0];
	n[0] = *min;
	*min = t;
	if(max == n)
		max = min;
	t = n[9];
	n[9] = *max;
	*max = t;
}
void print(int *n)
{
    int *p;
	printf("Sort by: ");
    for (p=n;p<n+10;p++)
		printf("%4d",*p);
    printf("\n");
}


http://www.kler.cn/a/148445.html

相关文章:

  • 【PHP】ThinkPHP基础
  • arcgis做buffer
  • 【数学二】线性代数-线性方程组-齐次线性方程组、非齐次线性方程组
  • 机器学习总结
  • C++ 并发专题 - 自旋锁的实现(Spinlock)
  • 准确率调整研究中心
  • 14 网关实战:网关聚合API文档
  • 基于51单片机冰箱温度控制器设计
  • Sass混合器的详细使用教程
  • squid代理服务器(传统代理、透明代理、反向代理、ACL、日志分析)
  • ESP32-Web-Server编程- JS 基础 3
  • NFS 速度变慢问题排查 性能优化
  • 6、信息收集(1)
  • 23种设计模式之C++实践
  • 构建强大的接口自动化测试框架:Pytest实践指南!
  • 互联网架构演变过程梳理和架构思想的学习
  • 探秘开发app与小程序:一场技术与创新的博弈
  • Vue3-Pinia
  • 整数反转 Golang leecode_7
  • 使用python-docx在word文档中查找书签,并在书签处写入数据
  • PHP 针对人大金仓KingbaseES自动生成数据字典
  • 计算机基础知识60
  • 零基础学Python第三天||写一个简单的程序
  • 数据结构——链式二叉树的实现(详解)
  • Springboot实现增删改差
  • 如何把 Oracle 19C RAC+DG加入到ORACLE EM 13C监控