原题链接:[编程入门]自定义函数之整数处理
解题思路:
根据题意可知,首先需要定义三个函数用来输入十个整数,处理十个整数,输出十个整数;本题中用fun1,fun2,fun3来表示这三个函数,因为数组在函数之间传递的过程中,用数组名作函数实参时,并不是把数组元素的值传递给形参,而是把实参数组的首元素的地址传递给了形参的数组,这样两个数组就共占同一段内存单元。所以如果改变了形参数组中某一个元素的值,那么实参数组中相应元素的值也会发生改变。
注意事项:
参考代码:
#include<stdio.h>
//定义fun1用来输入十个数
void fun1(int a[],int n)
{
//利用for循环依次输入十个数
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
}
//定义fun2用来处理输入的十个数
void fun2(int a[],int n)
{
//定义max和min分别保存十个数中的最大值和最小值
int max=a[0];
int min=a[0];
//index保存数组中最大值和最小值的下标
int index;
int temp;
int i;
for(i=1;i<n;i++)
{
//用if判断句找出数组中的最大值
if(max<a[i])
{
max=a[i];
index=i;
}
}
//将最大值移入到数组最后一位
temp=a[n-1];
a[n-1]=max;
a[index]=temp;
for(i=1;i<n;i++)
{
//用if判断句找出数组中的最小值
if(min>a[i])
{
min=a[i];
index=i;
}
}
//将最小值移入到数组第一位
temp=a[0];
a[0]=min;
a[index]=temp;
}
//定义fun3用来输出这十个数
void fun3(int a[],int n)
{
//利用for循环依次输出十个数
for(int i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}
int main()
{
//定义一个长度为10的数组
int a[10];
//调用函数fun1进行十个整数的输入
fun1(a,10);
//调用函数fun2对十个整数进行处理
fun2(a,10);
//调用函数fun3对十个整数进行输出
fun3(a,10);
return 0;
}0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复