湘潭大学 2023年下学期《C语言》作业0x03-循环1 XTU OJ 1094,1095,1096,1112,1113

第一题

#include

int main()
{
	int t;
	int count=1;
	scanf("%d",&t);
	
	while(t--)
	{
		int a,b,c;
		scanf("%d%d",&a,&b);
		c=a+b;
		printf("Case %d: %d\n",count,c);
		count++;
	}
	
	return 0;
}

记住多样例输入的模板,熟悉计数器的使用(count)

第二题

#include

int main()
{
	int a,b,count=1;
	while(~scanf("%d%d",&a,&b))
	{
		if(a==0&&b==0)	break;
		
		int c=a+b;
		printf("Case %d: %d\n",count,c);
		count++;
	}
	
	return 0;
}

多样例输入,使用~,然后加一个条件判断跳出循环

		if(a==0&&b==0)	break;

第三题

#include

int main()
{
	int a,b,count=1;
	while(~scanf("%d%d",&a,&b))
	{	
		int c=a+b;
		printf("Case %d: %d\n",count,c);
		count++;
	}
	
	return 0;
}

去掉前一题的条件判断即可

第四题

#include

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		double x1,y1,x2,y2,x3,y3;
		scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
		
		
		if((y3-y1)*(x2-x1)==(y2-y1)*(x3-x1))	printf("Yes\n");
		else	printf("No\n");
	}
	
	return 0;
}

斜率相等,表示三点共线,把斜率用点的坐标表示出来,交叉相乘作为条件判断的依据(就算使用双精度变量,除法还是会有精度损失,就会Wrong Answer) 

第五题

#include
#include

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		int x1,y1,x2,y2;
		bool flag=false;
		scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
		
		if(x2>=x1&&x2<=y1)	flag=true;
		else if(x1>=x2&&x1<=y2)	flag=true;
		else if(x2>y1)	flag=false;
		else if(x1>y2)	flag=false;
		else if(x1>=x2&&y1<=y2)	flag=true;
		else flag=true;
		
		if(flag)	printf("Yes\n");
		else	printf("No\n");
	}
	
	return 0;
}

分类讨论区间可能的六种情况,就是部分相交(2种),包含(2种),相离(2种) 

 

 

 

 

你可能感兴趣的:(湘大,XTU,OJ,c语言,算法,数据结构)