| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 364 人关注过本帖
标题:C++难题, 请各路高手帮忙!
只看楼主 加入收藏
果子蜜健
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-3-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
C++难题, 请各路高手帮忙!
请各路高手帮帮忙!

图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 果子蜜健 于 2010-3-22 23:15 编辑 ]
搜索更多相关主题的帖子: 难题 
2010-03-22 23:13
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:20 
#include <stdio.h>
#include <stdlib.h>
typedef struct _Pos{
    float x;
    float y;
}pos;
int main(void)
{
    int n, i, j, count = 0;
    float x0, y0;
    pos *pary;
    scanf("%d", &n);
    if (n < 2 || n > 60000)
    {
        printf("override !\n");
        return 1;
    }
    pary = (pos *)malloc(sizeof(pos)*n);

    for (i = 0; i < n; i ++)
    {
        scanf("%f%f", &pary[i].x, &pary[i].y);
    }
    for (i = 0; i < n; i ++)
    {
        for(j = i+1; j < n; j ++)
        {
            x0 = pary[j].x - pary[i].x;
            if (x0 == 0) continue;
            y0 = pary[j].y - pary[i].y;
            if (y0 == 0) continue;
            if (y0/x0 > 0)                                                                                       
            {
                count ++;
            }
        }
    }
    printf("%d\n", count);
    free(pary);
    return 0

先输入n,表示坐标的总数
然后计算这些两点之间组成的直线的斜率,求出斜率大于0的直线的条数(不考虑直线平行坐标轴的情况)英语水平有限只能理解到这个程度了。。。囧
2010-03-23 11:13
快速回复:C++难题, 请各路高手帮忙!
数据加载中...
 
   



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

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