爱编程的小笨孩


私信TA

用户名:2119394720

访问量:20553

签 名:

我在成长,总有一天我会足够优秀。

等  级
排  名 162
经  验 6820
参赛次数 6
文章发表 44
年  龄 0
在职情况 学生
学  校 黄河科技学院
专  业 软件工程

  自我简介:

一只想要当凤凰的鸡

TA的其他文章

解题思路:
根据题意可知,首先需要定义三个函数用来输入十个整数,处理十个整数,输出十个整数;本题中用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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区