| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 641 人关注过本帖
标题:输入10个整数,将最小数与第一个数对换,最大数与最后一个数对换,写三个函 ...
只看楼主 加入收藏
花房姑娘
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-25
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
输入10个整数,将最小数与第一个数对换,最大数与最后一个数对换,写三个函数: (1)输入10个数;(2)进行处理;(3)输出结果(难度2
输入10个整数,将最小数与第一个数对换,最大数与最后一个数对换,写三个函数:
(1)输入10个数;(2)进行处理;(3)输出结果

#include<stdio.h>
void input(int *p)
{
    int n[10],i;
    printf("input 10 numbers:\n");
    p=n;
    for(i=0;i<10;i++)
        scanf("%d",p++);
}

void SwapMaxMin(int *p)
{
    int *max,*min,*arrayend,array[10];
    arrayend=array+10;
    max=min=array;
    for(p=array+1;p<arrayend;p++)
        if(*p>*max)
        max=p;
        else if(*p<*min)
            min=p;
        *p=array[0];array[0]=*min;*min=*p;
        *p=array[9];array[9]=*max;*max=*p;
        return;
}

void display(int *p)
{
    int array[10];
    printf("now they are:\n");
    for(p=array;p<array+10;p++)
        printf("%d",*p);
}

void main()
{
    int *p;
    input(*p);
    display(*p);
    display(*p);
}
搜索更多相关主题的帖子: include numbers 
2014-12-27 19:03
花房姑娘
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-25
收藏
得分:0 
回复 楼主 花房姑娘
请问哪里错了??
2014-12-27 19:03
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
收藏
得分:20 
程序代码:
#include<stdio.h>
void input(int *p) {
    int i;
    printf("input 10 numbers:\n");

    for(i = 0; i < 10; i++) {
        scanf("%d", p++);
    }
}

void swap(int *p) {
    int i, j, max, min;

    for(max = *(p + 9), j = 0, i = 0; i < 9; i++) {
        if(*(p + i) > max) {
            max = *(p + i);
            j = i;
        }
    }

    max = *(p + 9);
    *(p + 9) = *(p + j);
    *(p + j) = max;

    for(min = *p, j = 0, i = 1; i <10; i++) {
        if(*(p + i) < min) {
            min = *(p + i);
            j = i;
        }
    }

    min = *p;
    *p = *(p + j);
    *(p + j) = min;
}

void display(int *p) {
    int i;
    printf("now they are:\n");

    for(i = 0; i < 10; i++)
        printf("%d ", *(p + i));

    printf("\n");
}

int main(void) {
    //int p[10] = {-1, 4, 6, 2, 0, 8, 13, 1, 7, 99};
    //int p[10] = {99, 4, 6, 2, 0, 8, 13, 1, 7, -1};
    int p[10];
    input(p);
    display(p);
    swap(p);
    display(p);
    return 0;
}

Only the Code Tells the Truth             K.I.S.S
2014-12-27 20:24
花房姑娘
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-12-25
收藏
得分:0 
回复 3楼 longwu9t
谢谢
2014-12-27 20:48
快速回复:输入10个整数,将最小数与第一个数对换,最大数与最后一个数对换,写三 ...
数据加载中...
 
   



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

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