| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4930 人关注过本帖
标题:将三个整数从大到小输出(指针方法 麻烦高手给点思路!谢谢 呵呵)
只看楼主 加入收藏
zhuwei168
Rank: 1
来 自:东软信息学院
等 级:新手上路
帖 子:180
专家分:0
注 册:2008-2-13
收藏
得分:0 
指针我也是用得不怎么熟
写了一个又长又臭的代码,马马虎虎还是能够执行楼主的要求

做一个自由的人,飞到蔚蓝的天空里。
2008-05-25 09:42
clqngw
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-4-17
收藏
得分:0 
各位   我修改了一下    代码如下   利用 指针  函数   数组   和冒泡排序的方法   
能够完成题目的要求




#include<stdio.h>
int swap(int *m,int *n)
{
    int temp;
    temp=*m;
    *m=*n;
    *n=temp;
}
main()
{
    int a[3],i,j;
    printf("Please enter three numbers:\n");
    for(i=0;i<3;i++)
        scanf("%d",&a[i]);
    for(i=0;i<3;i++)
        for(j=i+1;j<3;j++)
            if(a[j]>a[i])
                swap(&a[j],&a[i]);
            for(i=0;i<3;i++)
                printf("%d,",a[i]);
}
2008-05-25 22:47
casual0402
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-5-11
收藏
得分:0 
swap函数有错,int 类型却没有值返回

另外 a,b不应该取m,n的地址~~
2008-05-25 23:17
伤心的我
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2008-5-24
收藏
得分:0 
这个题用指针有几种方法
2008-05-25 23:27
伤心的我
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2008-5-24
收藏
得分:0 
还可以这样,用个中间变量来交换a[i]和a[j] 元素下标
#include<stdio.h>
int swap(int *m,int *n)
{
        int temp;
        temp=*m;
        *m=*n;
        *n=temp;
}
main()
{
        int a[3],i,j,k;
        printf("Please enter three numbers:\n");
        for(i=0;i<3;i++)
                scanf("%d",&a[i]);
        for(i=0;i<3;i++)
              { k=i;
               for(j=i+1;j<3;j++)
                        if(a[j]>a[k])
                           k=j;
                                swap(&a[i],&a[k]); }
                        for(i=0;i<3;i++)
                                printf("%d,",a[i]);
getch();}
2008-05-25 23:33
快速回复:将三个整数从大到小输出(指针方法 麻烦高手给点思路!谢谢 呵呵)
数据加载中...
 
   



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

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