| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2162 人关注过本帖
标题:入门级C语言。求助哪里错了(北岭山)
只看楼主 加入收藏
huangmeixin
Rank: 2
等 级:论坛游民
帖 子:13
专家分:20
注 册:2018-11-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
入门级C语言。求助哪里错了(北岭山)

在我们学校的后面,就是传说中的北岭山,站在飞机楼上,本来是可以清楚看到北岭山的,但这几天浓雾弥漫,雾锁北岭。现在校长想知道北岭山平面图的面积,找到了钟sir,幸亏钟Sir练就了火眼金睛,只见他把眼镜一摘,居然看清北岭山的轮廓如下图所示。但钟sir的计算能力真是不敢恭维,所以就找你了~~



Input


单测试用例。

对于一个测试用例,有三个以上的坐标(xi, yi)( xi ≥ 0 , yi ≥ 0 , 且 xi > xi-1)请输出由这些点和x轴围起来的面积。

测试数据是以坐标(0, 0)开始,一直到输入结束。(以上xi,xi-1中的i,i-1 都表示下标)

Output


输出一行结果:北岭山的面积,精确到小数点后一位。

Sample Input


0 0
4 4
6 2
10 10
14 6
16 8
18 0

Sample Output


92.0
代码:
#include<stdio.h>
int main()
{
    double x1,y2,x3,y4;
    char ch;
    int a=1;
    double sum=0;
    scanf("%lf %lf",&x1,&y2);
    while(scanf("%lf %lf",&x3,&y4)!=EOF)
    {


        sum=sum+(double)((y2+y4)*(x3-x1))/2;

        a++;
        if(y4==0&&a>2)
            break;
        x1=x3;y2=y4;



    }
    printf("%.1lf",sum);
    return 0;
}
搜索更多相关主题的帖子: 入门 面积 测试 double sum 
2018-11-24 11:34
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:20 
画个坐标图吧!
除了起始和末尾两个相邻坐标,是一个三角形!
中间的相邻两坐标,是一个三角形和矩形组成!


学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-24 12:01
huangmeixin
Rank: 2
等 级:论坛游民
帖 子:13
专家分:20
注 册:2018-11-14
收藏
得分:0 
回复 2楼 Tomorrw_I
我那样也打得出答案,就是OJ上是WA
2018-11-24 13:10
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef struct {
    double x;
    double y;
}point;

double AddArea(point a,point b)
{
    double area=0;
    if(a.y>b.y)
    {   
        area=(b.x-a.x)*(a.y-b.y)/2;
        area+=(b.x-a.x)*b.y;
        printf("area=%lf\n",area);
        return area;
    }
    else
    {
        if(a.y==0||b.y==0)
        {
            area=(b.x-a.x)*(b.y-a.y)/2;
            printf("area=%lf\n",area);
            return area;
        }
        else
       {
            area=(b.x-a.x)*(b.y-a.y)/2;
            area+=(b.x-a.x)*a.y;
            printf("area=%lf\n",area);
            return area;
        }
    }
}


int main(void) { 
    point array[100];
    int n;
    double area=0;
    printf("请输入总共多少组数据(包含(0.0)):");
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        printf("请输入第%d组数据:",i+1); 
        scanf("%lf%lf",&array[i].x,&array[i].y);
        printf("\n");
    }
    for(int i=1;i<n;i++)
    {
        printf("第%d段的面积为:",i);
        area+=AddArea(array[i-1],array[i]);
    }
    printf("测算总面积为:%.1lf",area);
    return 0;
}


一直不明白,你们说的WA是啥

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-24 14:10
huangmeixin
Rank: 2
等 级:论坛游民
帖 子:13
专家分:20
注 册:2018-11-14
收藏
得分:0 
回复 4楼 Tomorrw_I
OJ平台上的wrong answer简称wA
2018-11-24 14:49
huangmeixin
Rank: 2
等 级:论坛游民
帖 子:13
专家分:20
注 册:2018-11-14
收藏
得分:0 
回复 4楼 Tomorrw_I
OJ平台判定的wrong answer筒称wa
2018-11-24 14:53
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
收藏
得分:0 
哦!  题目明确提到了下标,应该是需要你用数组!

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-24 14:55
快速回复:入门级C语言。求助哪里错了(北岭山)
数据加载中...
 
   



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

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