原题链接:[编程入门]自定义函数之整数处理
解题思路:题目要求定义三个函数,分别实现输入10个数、处理最大最小的元素、输出10个数的功能。输入函数为一个for循环,循环10次,录入10个数保存在数组a[10]中。处理函数遍历数组a,首先假设a[0]最小,当a[i]<a[0]成立时,将a[i]的值和坐标存放起来,遍历后交换最小的元素(利用坐标)与第一个元素;最大的数的处理方式同理。输出函数与输入函数同理。
注意事项:开头处定义了全局变量数组a[10];因为这样才能使你在自定义函数中输入的数字,能在main函数中可以用,如果数组a的定义在其他地方,疯狂报错······代码也考虑了负整数的情况(min=a[0],max=a[0])。最初是在vc++6.0中编写的,能通过,上传结果编译错误,发现是i在for循环定义过了,下面不用定义了,但是本站的编译器跟vs2019规则一样,把i在函数开始定义一下就行了。
参考代码:开发环境vs2019
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int a[10]; //全局变量 void shuru() { for (int i = 0; i < 10; i++) { scanf("%d", &a[i]); } } void chuli() { int min = a[0]; int i; int t; //找到最小元素的坐标 for (i = 0; i < 10; i++) { if (a[i] < min) { min = a[i]; t = i; } } int temp = a[0]; a[0] = a[t]; a[t] = temp; //找到最大元素的坐标 int max = a[0]; for (i = 0; i < 10; i++) { if (a[i] > max) { max = a[i]; t = i; } } temp = a[9]; a[9] = a[t]; a[t] = temp; } void shuchu() { for (int i = 0; i < 10; i++) { printf("%d ", a[i]); } } int main() { shuru(); chuli(); shuchu(); return 0; }
0.0分
7 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复