| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:请问各位大虾
只看楼主 加入收藏
Lucifer_0
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-4-1
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
请问各位大虾
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数;①输入10个数;②进行处理;③输出10个数。


如何使用指针来给子函数输入10个数并返回呀、
搜索更多相关主题的帖子: 最大的 如何 
2010-04-06 22:26
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>

int get_num(int *num, int n)
{
    int i;
    char c[15];
    printf("Please input numbers:\n");
    for (i=0;i<n ;i++ )
        scanf("%d",num+i);
}

int changes(int *num,int n)
{
    int i;
    int min = num[0], max = num[0];
    int min_idx = 0, max_idx = 0;

    for (i =0;i<n ;i++ )
    {
        if (min>num[i])
        {
            min = num[i];
            min_idx = i;
        }
        if (max<num[i])
        {
            max = num[i];
            max_idx = i;
        }
    }

    num[min_idx] = num[0];
    num[0]= min;
    num[max_idx] = num[n-1];
    num[n-1]= max;
}

int print_num(int *num,int n)
{
    printf("Output is:\n");
    for (int i=0;i<n ;i++ )
        printf("%d\n",num[i]);
}

int main()
{
    int num[10];
    get_num(num,10);
    changes(num,10);
    print_num(num,10);
}


人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-07 11:15
lddwh
Rank: 2
等 级:论坛游民
帖 子:34
专家分:79
注 册:2010-4-7
收藏
得分:0 
哈哈   我终于找到你的问题了   刚看到你的问题时    我感觉好玩   就想写   可我把程序调试成功之后   却找不到了你的问题   现在终于终于找到了   我是新学者  写得不好、不足的地方  想可以和大家交流交流

#include<stdio.h>
void cin(int array[],int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&array[i]);
}

void cout(int array[],int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%d ",array[i]);
    printf("\n");
}

void deal1(int array[],int n)
{
    int i,t,k=0;
    for(i=1;i<n;i++)
        if(array[k]>array[i])
            k=i;
        t=array[k];
        array[k]=array[0];
        array[0]=t;
}


void deal2(int array[],int n)
{
    int i,t,k=0;
    for(i=1;i<n;i++)
        if(array[k]<array[i])
            k=i;
        t=array[k];
        array[k]=array[n-1];
        array[n-1]=t;
}

void main()
{
    int a[10];
    cin(a,10);
    deal1(a,10);
    deal2(a,10);
    cout(a,10);
}
2010-04-08 19:42
lddwh
Rank: 2
等 级:论坛游民
帖 子:34
专家分:79
注 册:2010-4-7
收藏
得分:20 
#include<stdio.h>
void cin(int array[],int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&array[i]);
}

void cout(int array[],int n)
{
    int i;
    for(i=0;i<n;i++)
        printf("%d ",array[i]);
    printf("\n");
}

void deal(int array[],int n)
{
    int i,t,k=0,m=0;
    for(i=1;i<n;i++)
    {
        if(array[k]>array[i])
            k=i;
        if(array[m]<array[i])
            m=i;
    }
        t=array[k];array[k]=array[0];array[0]=t;
        if(m==0)
            m=k;
        t=array[m];array[m]=array[n-1];array[n-1]=t;
}

void main()
{
    int a[10];
    cin(a,10);
    deal(a,10);
    cout(a,10);
}



上一个是我一开始写的程序,这个是在那个基础上改进的程序,还请你指点啊
2010-04-08 19:50
快速回复:请问各位大虾
数据加载中...
 
   



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

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