| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1849 人关注过本帖, 1 人收藏
标题:定义函数 数组交换最大值最小值位置 输入10有输出 但输入5没有输出了
只看楼主 加入收藏
beforeyo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-10-25
收藏(1)
 问题点数:0 回复次数:2 
定义函数 数组交换最大值最小值位置 输入10有输出 但输入5没有输出了
#include<stdio.h>
void fun(int a[], int n);
int main()
{
    int a[30];
    int n,i;
    scanf("%d",&n);//输入数组实际元素的个数
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);//读入数组每个元素的值
    }
    fun(a,n);
    for(i=0;i<n;i++)
    {
        printf("%d ",a[i]);//输出对换后的数组元素
    }
    return 0;
}
void fun(int a[30],int n)//最大数与最小数的位置对换
{
    int max,min,i,temp,t,k;
    max=a[0];
    min=a[0];
    for(i=0;i<n;i++)
    {
        if(a[i]>max)
        {
            max=a[i];
            t=i;
        }
        if(a[i]<min)
        {
            min=a[i];
            k=i;
        }
    }
    temp=a[t];
    a[t]=a[k];
    a[k]=temp;
}
搜索更多相关主题的帖子: 数组 位置 输入 输出 int 
2018-10-25 18:04
beforeyo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-10-25
收藏
得分:0 
该程序用来实现一维数组(最多30个元素)中最大值元素与最小值元素位置交换。读入数组元素的实际个数及数组元素的值在主函数实现,将其中最大数与最小数的位置对换在函数fun中实现,然后输出对换后的数组元素也在在主函数实现。
fun函数原型如下:
void  fun(int  a[], int  n);
其中,数组a是用来存放数组元素,n是数组实际元素的个数

输入要求:
1、先输入数组实际元素的个数:"%d"
2、再读入数组数组每个元素的值: "%d", 输入的数据用空格作分隔符。详见输入样例。
输出要求: "%d ",输出的数据用空格作分隔符。详见输出样例。

输入输出样例:
Input Sample:
10
2 10 4 3 5 6 7 8 9 1
Output Sample:
2 1 4 3 5 6 7 8 9 10
2018-10-25 18:05
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
输入10有输出 但输入5没有输出
你写这么多累不累,而且别人还看不懂。
为什么不老实的说出你输入什么,出现了什么问题?
比如直接说输入
5
1 2 3 4 5


fun函数中有可能执行完毕后 t和k 还没赋值。



2018-10-26 08:51
快速回复:定义函数 数组交换最大值最小值位置 输入10有输出 但输入5没有输出了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021601 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved