|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
int main()
{
int n,i,j,*a=0,*b=0,*a1=0,*b1=0,count=0,falg1,falg2;
scanf("%d",&n); //输入有几条直线
int (*p)[2]=new int[n][2]; //定义一个动态数组
for(i=0;i<n;i++)
scanf("%d,%d",(*(p+i)+0),(*(p+i)+1)); //输入每条直线的斜率和斜截距,
for(i=0;i<=n-1;i++)
for(j=i+1;j<=n;j++)
{
*a=*(*(p+i)+0)*(-10)+*(*(p+i)+1); //前一条直线在x=-10处的值
*b=*(*(p+i)+0)*10+*(*(p+i)+1); //前一条直线在x=10处的值
*a1=*(*(p+i)+0)*(-10)+*(*(p+i)+1); //后一条直线在x=-10处的值
*b1=*(*(p+i)+0)*10+*(*(p+i)+1); //后一条直线在x=10处的值
if(*a>*a1) //下面就是判断直线是否有交点
falg1=1;
else
falg1=0;
if(*b>*b1)
falg2=1;
else
falg2=0;
if(falg1!=falg2)
count=count+2; //因为他说有k个交点就有k+1个面 ,所以是count+2
}
printf("%d",count); 输出平面数
return 0;
}
//大佬帮我!唉唉唉 |
|