| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1453 人关注过本帖
标题:有没有判断几个变量互不相等的库函数?
只看楼主 加入收藏
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
结帖率:100%
收藏
 问题点数:0 回复次数:4 
有没有判断几个变量互不相等的库函数?
如题。(google和手册没查到
判断3个或3个以上的别两互不相等
请写出函数名,所在库文件和用法
搜索更多相关主题的帖子: 函数 变量 相等 判断 
2009-10-27 00:29
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
可以自己些函数

—>〉Sun〈<—
2009-10-27 01:31
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
// 可以处理int类型
// n 指定后续参数的数量,可传递int参数.
// 存在相同元素则返回1,否则回返0
// 例子: equ(3, 6, 2, 8);
//   3个int数据,分别为6, 2, 8
int equ(int n, ...)
{
    int i, j;
    int * p;
    va_list arg_ptr;
   
    if (n < 1)
        return 0;
    va_start (arg_ptr, n);
    p = malloc(sizeof(int) * n);
    if (!p) {
        // puts("Malloc error!\a");
        exit(1);
    }
    for (i = 0; i < n; ++i) {
        p[i] = va_arg(arg_ptr, int);
        for (j = 0; j < i; ++j)
            if (p[i] == p[j]) {
                free(p);
                return 1;
            }
    }
    free(p);
    return 0;
}
int main(void)
{
    printf("%s\n", equ(5, 1, 2, 4, 5, 3)?"重复":"不重复" );
    printf("%s\n", equ(3, 1, 2, 2)?"重复":"不重复" );
    return 0;
}


传递一个判断数据是否相等的函数,和参数数据的指针来使equ更通用。(类似库函数qsort)


至少标准库函数中没有你要的函数


。/


[ 本帖最后由 cosdos 于 2009-10-27 02:12 编辑 ]

—>〉Sun〈<—
2009-10-27 02:09
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:0 
回复 3楼 cosdos
谢谢!
我偷懒了

我可好玩啦...不信你玩玩^_^
2009-10-27 12:59
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:0 
学习~
2009-10-27 13:42
快速回复:有没有判断几个变量互不相等的库函数?
数据加载中...
 
   



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

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