黑马程序员技术交流社区
标题:
输入一个未知的数组只能用这种方法了吗?
[打印本页]
作者:
talent123
时间:
2015-6-3 15:00
标题:
输入一个未知的数组只能用这种方法了吗?
/*
2最小包围矩形(5分)
题目内容:
给定一组二维坐标,表示直角坐标系内的一个多边形的连续的顶点的坐标序列。计算能包围这个多边形的平行于坐标轴的最小矩形,输出它的左下角和右上角的坐标。
输入格式:
第一行是一个正整数n表示顶点的数量,第二行是n组整数,依次表示每个顶点坐标的x和y值。
输出格式:
四个整数,依次表示所计算的矩形的左下角的坐标的x、y值和右上角坐标的x、y值。
输入样例:
5
1 1 1 4 3 7 4 4 4 1
输出样例:
1 1 4 7
*/
#include<stdio.h>
#include<stdlib.h>
typedef struct point{
int x;
int y;
}Point;
int main(){
int num;
scanf("%d", &num);
Point points[100];
// Point *p = (Point *)malloc(sizeof(Point) * num);
int i;
for (i = 0; i< num; i++){
scanf("%d %d", &points[i].x, &points[i].y);
}
int x_min, x_max, y_min, y_max;
x_min = points[0].x, x_max = points[0].x;
for (i = 0; i< num; i++){
if (x_min > points[i].x){
x_min = points[i].x;
}
}
for (i = 0; i < num; i++){
if (x_max < points[i].x){
x_max = points[i].x;
}
}
y_min = points[0].y, y_max = points[0].y;
for (i = 0; i< num; i++){
if (y_min > points[i].y){
y_min = points[i].y;
}
}
for (i = 0; i< num; i++){
if (y_max < points[i].y){
y_max = points[i].y;
}
}
printf("%d %d %d %d\n", x_min, y_min, x_max, y_max);
return 0;
}
复制代码
感觉好不科学啊 malloc 这里怎么用?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2