| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 255 人关注过本帖
标题:求教 用指向函数的指针对数列进行排列 这段程序要怎么修改??
只看楼主 加入收藏
kknd84913
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2012-12-26
结帖率:0
收藏
 问题点数:0 回复次数:2 
求教 用指向函数的指针对数列进行排列 这段程序要怎么修改??
代码:
/*  用指向函数的指针对数列进行排列  */

#include<stdio.h>
#include<stdlib.h>

int change(int a[],int n)
{
    int t=0;
    if(a[n]>a[n+1])
    {
        t=a[n];
        a[n]=a[n+1];
        a[n+1]=t;
        return a[n];
    }
   
}



main()
{
    int i,j=0,x[12];
    int Num[12]={4,2,3,6,5,7,9,8,11,10,15,17};
    int (*pchange)();
    printf("用指向函数的指针对数列进行排列\n\n");
    printf("未重新排列顺序的数组是:\n");
    for(i=0;i<12;i++)
        printf("%d ",Num[i]);
    pchange=change;
    printf("\n");
    printf("按由大到小的顺序排列后的数组是:\n");
    for(i=0;i<11;i++)
        x[j++]=(*pchange)(Num,i);
    for(j=0;j<12;j++)
    {
        printf("%d ",x[j]);
    }
    printf("\n");
}
大部分结果是对的就是最后一位元素总处理不好,求指教啊或是给一个正确的代码

[ 本帖最后由 kknd84913 于 2013-1-8 16:00 编辑 ]
搜索更多相关主题的帖子: include change return 
2013-01-08 15:32
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
int change(int a[],int n)
 {
     int t=0;
     if(a[n]>a[n+1])
     {
         t=a[n];
         a[n]=a[n+1];
         a[n+1]=t;
         return a[n];
     }
     // 这个地方少了个返回值
}
 


main()
 {
     int i,j=0,x[12];
     int Num[12]={4,2,3,6,5,7,9,8,11,10,15,17};
     int (*pchange)(); // 应该改成 int (*pchange)(int *, int); 不然通不过编译的
     printf("用指向函数的指针对数列进行排列\n\n");
     printf("未重新排列顺序的数组是:\n");
     for(i=0;i<12;i++)
         printf("%d ",Num[i]);
     pchange=change;
     printf("\n");
     printf("按由大到小的顺序排列后的数组是:\n");
     for(i=0;i<11;i++)
         x[j++]=(*pchange)(Num,i);
     for(j=0;j<12;j++)
     {
         printf("%d ",x[j]);
     }
     printf("\n");
 }

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-01-08 16:45
kknd84913
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2012-12-26
收藏
得分:0 
回复 2楼 yuccn
谢谢版主指教
2013-01-10 10:24
快速回复:求教 用指向函数的指针对数列进行排列 这段程序要怎么修改??
数据加载中...
 
   



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

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