题目描述

一天,小明坐在院子里数星星,Gardon就出了个难题给她:Gardon在天空画出了一个矩形区域,让他输入矩形区域里有多少颗星星,仁慈的上帝还为他标出了每个星星的坐标。但小明数着数着就看花了眼,但他的原则是:宁愿多数一次,不可错过一个。如果小明把他数过的星星的坐标都告诉你,你能否帮他进行排重处理(如果两个星星的坐标位置相同,则视为一个星星),计算出星星的个数。

输入

首先输入一个整数n(n<=300),接下来的n对整数,每对表示小明数过的一个星星的位置(星星的坐标在-10000到10000之间)。

输出

输出星星的个数。

样例输入 Copy
5
0 3
1 5
1 1
0 1
1 5

样例输出 Copy
4
题目分析
该题实际上是一个排重类型题目,n减去重复坐标的个数即为星星数
使用结构体存储坐标
struct stars
{
    int x, y;
};
输入数据
scanf_s("%d", &n);//
    for (i = 0; i < n; i++)
        scanf_s("%d%d", &s[i].x, &s[i].y);
计算
这里需要找出重复,并将其删去,可以定义两个函数,一个负责查重,一个负责删除
查重函数如下
注意:注意:由于需要注意n的变化,所以函数应该为int型,而不是void型
int del(struct stars s[],int n)
{
    int i, j;
    struct stars p;
    for (i = 0; i < n; i++)
    {
        p = s[i];
        for (j = 0; j < n; j++)
        {
            if (i == j)
                continue;
            if (p.x == s[j].x && p.y == s[j].y)
            {
                n=move(s, i, n);
                n--;
            }
        }
    }
    return n;
}
删除函数如下
(该函数可定义为void型)
int move(struct stars s[], int i,int n)
{
    for (;i<n; i++)
    {
        s[i].x = s[i + 1].x;
        s[i].y = s[i + 1].y;
    }
    return n;
}
输出
n即为所求的星星数
完整代码如下:
struct stars
{
    int x, y;
};
#include<stdio.h>
int n;
int move(struct stars s[],int i,int n);
int del(struct stars s[],int n);
int main()
{
    struct stars s[300];
    int i,j;
    //输入
    scanf_s("%d", &n);
    for (i = 0; i < n; i++)
        scanf_s("%d%d", &s[i].x, &s[i].y);
    n=del(s, n);
    printf("%d", n);
    return 0;
}
int del(struct stars s[],int n)
{
    int i, j;
    struct stars p;
    for (i = 0; i < n; i++)
    {
        p = s[i];
        for (j = 0; j < n; j++)
        {
            if (i == j)
                continue;
            if (p.x == s[j].x && p.y == s[j].y)
            {
                n=move(s, i, n);
                n--;
            }
        }
    }
    return n;
}
int move(struct stars s[], int i,int n)
{
    for (;i<n; i++)
    {
        s[i].x = s[i + 1].x;
        s[i].y = s[i + 1].y;
    }
    return n;
}

郑清oj1191:数星星(结构体专题)相关推荐

  1. c语言数星星结构体,数星星(结构体专题)

    数星星(结构体专题) 题目描述: 给你一些坐标简单查重.就是输出星星坐标在不重复的情况下有几个: 输入 首先输入一个整数n(n<=300),接下来的n对整数,每对表示小明数过的一个星星的位置(星 ...

  2. c语言数星星结构体,1469: 数星星(结构体专题)

    题目描述 一天,小明坐在院子里数星星,Gardon就出了个难题给她:Gardon在天空画出了一个矩形区域,让他输入矩形区域里有多少颗星星,仁慈的上帝还为他标出了每个星星的坐标.但小明数着数着就看花了眼 ...

  3. zzulioj:1196: 数星星(二)(结构体专题)

    1196: 数星星(二)(结构体专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 2993 解决: 964 [状态] [讨论版] [提交] [命题人:外部导入] 题目描述 一天,小明坐 ...

  4. ZZULIOJ 1180-1198结构体专题 参考代码

    一共19道题 虽然是java写的,但是还是用的类似于C的结构体 下面代码供参考 每题前面标的有题号 *1180 成绩统计(结构体专题) 1181 谁的年龄最小(结构体专题) 1182 查询记录(结构体 ...

  5. 向大佬学习C语言1198: 考试排名(二)(结构体专题)

    题目 1198: 考试排名(二)(结构体专题) 时间限制: 1 Sec 内存限制: 128 MB 提交: 3737 解决: 728ACM 国际大学生程序设计竞赛,英文全称:ACM Internatio ...

  6. 考试排名(结构体专题)

    考试排名(结构体专题) 题目描述 今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩.现给定录取分数线,请你写程序找出最后通过分数线的考生,并将他们的 ...

  7. 1197: 考试排名(一)(结构体专题)

    1197: 考试排名(一)(结构体专题) 时间限制: 1 Sec  内存限制: 128 MB 提交: 59  解决: 70 [提交] [状态] [讨论版] [命题人:eilene] 题目描述 今天浙大 ...

  8. 考试排名(一)(结构体专题)

    考试排名(一)(结构体专题) 题目描述 今天浙大研究生复试的上机考试跟传统笔试的打分规则相似,总共有n道题,每道题有对应分值,最后计算总成绩.现给定录取分数线,请你写程序找出最后通过分数线的考生,并将 ...

  9. ZZULIOJ1198: 考试排名(二)(结构体专题)

    1198: 考试排名(二)(结构体专题) 题目描述: ACM 国际大学生程序设计竞赛,英文全称:ACM International Collegiate Programming Contest(ACM ...

最新文章

  1. 《易学C++(第2版)》——1.10 习题
  2. c语言入门自学书籍推荐6,菜鸟自学嵌入式之C语言基础No6 算法分析
  3. linux很多程序都要本地编译,让C/C++程序一次编译可以发布到多版本Linux之上
  4. [Android]Volley源代码分析(店)应用
  5. 我为什么在这里写博客
  6. 信息学奥赛一本通 1016:整型数据类型存储空间大小 | OpenJudge NOI 1.2 01
  7. Android 系统(146)----Android进程保活招数概览
  8. 怎样用python随机生成100内的100个奇数_python怎么随机生成奇数_后端开发
  9. 2015-2016 Northwestern European Regional Contest (NWERC 2015)
  10. 属于哪个单元_到底怎么挑?动铁、动圈、动铁动圈混合买耳机哪个更好?
  11. fastreport4打印预览
  12. tensorflow精进之路(二十六)——人脸识别(上)(MTCNN原理)
  13. css part 2
  14. xcode 4.2 开发2——TabelView
  15. 用一个div模拟textarea的实现【前端每日一题-15】
  16. Java高手速成│编写你第一个数据库程序
  17. 观察数据时易出错的点
  18. python十六进制转pcap文件_python处理pcap文件——数据提取
  19. ios android混合开发框架,iOS基于Cordova框架的混合开发
  20. 常规放大电路和差分放大电路

热门文章

  1. 归根结底,世界是男人的
  2. 利用kiftd实现局域网文件共享,支持不同操作系统
  3. 失去了以后才会懂得珍惜,你已经错过了当初最认真的我
  4. 尚学堂第十章课后习题答案
  5. 电影网网站优化-相关链接篇
  6. 1183 反正切函数的应用
  7. 科技型中小企业和创新型中小企业有什么区别
  8. C# GDI 画 一次函数图像
  9. 关于FT和TTa引脚作为数据IO时配置问题
  10. 分享我推广全来主机的真实经验