首页 > 其他 > 详细

求和为某数的两个数字组合

时间:2014-02-25 23:49:47      阅读:496      评论:0      收藏:0      [点我收藏+]

给定排好序的数字,求和为某数的两个数字组合。

bubuko.com,布布扣
#include <stdio.h>

struct Pair{
    int f;
    int s;
} ;

int find(int num[], int n, int x, struct Pair pairs[]){
    int i = 0;
    int j = n - 1;
    int m = 0;
    for(; i < j; ){
        if(num[i] + num[j] < x) i++;
        else if(num[i] + num[j] > x) j--;
        else{
            pairs[m].f = num[i];
            pairs[m].s = num[j];
            i++;
            j--;
            m++;
        }
    }
    return m;
}


main(){
    int i;
    struct Pair pairs[10];
    int num[] = {1, 2, 3, 4, 5, 6, 7, 8};
    int n = 8;
    int x = 9;
    int m;
    m = find(num, n, x, pairs);

    for(i = 0; i < m; i++)
        printf("%d %d\n", pairs[i].f, pairs[i].s);
}
bubuko.com,布布扣

求和为某数的两个数字组合

原文:http://www.cnblogs.com/yutoulck/p/3566739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!