| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1105 人关注过本帖
标题:dalao,教教我啊,最大的数放在第一,最小的放在最后,哪里出问题了
只看楼主 加入收藏
lolooze
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2018-11-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
dalao,教教我啊,最大的数放在第一,最小的放在最后,哪里出问题了
//最大的数放在第一,最小的放在最后
#include <stdio.h>
int main()
{
    void input(int *p);
    void change(int *p);
    void output(int *p);
    int a[10];
    input(a);
    change(a);
    output(a);
    return 0;
}

void input(int *p)
{
    int i;
    printf("please input ten numbers:\n");
    for(i=0;i<10;i++,p++)
        scanf("%d",p);
}

void change(int *p)
{
    int i,t,*a;
    a=p;
    for(i=0;i<10;i++)
    {
        if(*p<*(p+i))
        {
            t=*p;
            *p=*(p+i);
            *(p+i)=t;
        }
    }
    p=a;
    for(i=0;i<10;i++)
    {
        if(*(p+10)>*(p+i))
        {
            t=*(p+10);
            *(p+10)=*(p+i);
            *(p+i)=t;
        }
    }
}

void output(int *p)
{
    int i;
    printf("after changing:\n");
    for(i=0;i<10;i++,p++)
        printf("%d ",*p);
    printf("\n");
}
搜索更多相关主题的帖子: int void input printf for 
2018-11-28 17:30
fclzss
Rank: 2
等 级:论坛游民
帖 子:32
专家分:11
注 册:2018-11-7
收藏
得分:0 
回复 楼主 lolooze
for(i=0;i<10;i++,p++)
scanf("%d",p);
貌似有问题,*p 是指针,指的是地址,所以一般不能直接赋值
2018-11-28 22:52
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:633
专家分:3045
注 册:2011-4-22
收藏
得分:20 
for(i=0;i<10;i++)
    {
        if(*(p+9)>*(p+i))
        {
            t=*(p+9);
            *(p+9)=*(p+i);
            *(p+i)=t;
        }
    }
2018-11-29 00:16
lolooze
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2018-11-28
收藏
得分:0 
回复 2楼 fclzss
scanf语句逗号后面是地址表列,p是指针变量,这里没错啦,谢谢你~
2018-11-29 13:17
lolooze
Rank: 2
等 级:论坛游民
帖 子:9
专家分:21
注 册:2018-11-28
收藏
得分:0 
回复 3楼 zbjzbj
是这里有问题,谢谢~~
2018-11-29 13:19
快速回复:dalao,教教我啊,最大的数放在第一,最小的放在最后,哪里出问题了
数据加载中...
 
   



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

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