xtu-c语言考试复习

1391

cpp 复制代码
#include<stdio.h>

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		int second=0;
		scanf("%d",&second);
		
		int hour=second/3600;
		int minute=(second%3600)/60;
		second-=hour*3600+minute*60;
		
		printf("%02d:%02d:%02d\n",hour,minute,second);
	}
	
	return 0;
}

算是一个格式的题目,没想到自己还记得哈哈

1392

cpp 复制代码
#include<stdio.h>

int gcd(int a,int b)
{
	return b>0?gcd(b,a%b):a;
}

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		
		int up=2*a*a*a+a*a*b+2*a*b*b+b*b*b;
		int down=2*(a+b);
		int temp=gcd(up,down);
		up/=temp;
		down/=temp;
		
		if(down==1)	printf("%d\n",up);
		else	printf("%d/%d\n",up,down);
	}
	
	return 0;
}

确实啊,当时觉得难的不行的题,现在觉得其实一点都不难,所以自己还是练习的太少了,详细的过程可以看之前的博客

1393

WA了,感觉很奇怪啊,为啥

cpp 复制代码
#include<stdio.h>

#define N 110

int a[N];

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		int n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++)	scanf("%d",&a[i]);
		
		int cnt=0;
		for(int i=1;i<=n;i++)
		{
			for(int j=i+1;j<=n;j++)
			{
				for(int k=j+1;k<=n;k++)
				{
					double cos_angle=((double)a[i]*(double)a[i]+(double)a[j]*(double)a[j]-(double)a[k]*a[k])/((double)2*a[i]*a[j]);
					if(a[i]+a[j]>a[k]&&a[k]-a[i]<a[j]&&cos_angle>0&&cos_angle<1)
					{
						cnt++;
					}
				}
			}
		}
		
		printf("%d\n",cnt);
	}
	
	return 0;
}

看了一下之前写的博客,原来是要把输入的数字排序,然后再根据锐角三角形的性质来计算,我这次居然想到了用余弦定理来计算哈哈,还是比较睿智的做法,最大的边对应的角一定是最大的角,最大的角的余弦值在0到1之间的话,说明最大的角是锐角,把计数器的值增加1即可

cpp 复制代码
#include<stdio.h>

#define N 110

int a[N];

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		int n;
		scanf("%d",&n);
		for(int i=1;i<=n;i++)	scanf("%d",&a[i]);
		
		for(int i=1;i<=n;i++)
		{
			for(int j=i+1;j<=n;j++)
			{
				if(a[j]<a[i])
				{
					int temp=a[j];
					a[j]=a[i];
					a[i]=temp;
				}
			}
		}
		
		int cnt=0;
		for(int i=1;i<=n;i++)
		{
			for(int j=i+1;j<=n;j++)
			{
				for(int k=j+1;k<=n;k++)
				{
					double cos_angle=((double)a[i]*(double)a[i]+(double)a[j]*(double)a[j]-(double)a[k]*a[k])/((double)2*a[i]*a[j]);
					if(a[i]+a[j]>a[k]&&a[k]-a[i]<a[j]&&cos_angle>0&&cos_angle<1)
					{
						cnt++;
					}
				}
			}
		}
		
		printf("%d\n",cnt);
	}
	
	return 0;
}

1088

cpp 复制代码
#include<stdio.h>

#define N 10007

int main()
{
	int n;
	while(~scanf("%d",&n))
	{
		if(n==-1)	break;
		
		int ans=1;
		for(int i=1;i<=n;i++)
		{
			ans*=i;
			ans%=N;
		}
		printf("%d\n",ans);
	}
	
	return 0;
}

无他,惟手熟尔

1075

cpp 复制代码
#include<stdio.h>

int gcd(int a,int b)
{
	return b>0?gcd(b,a%b):a;
}

int ans(int a,int b)
{
	int res=a*b/gcd(a,b);
	return res;
}

int main()
{
	int a,b;
	while(~scanf("%d%d",&a,&b))
	{
		if(a==0&&b==0)	break;
		
		printf("%d\n",ans(a,b));
	}
	
	return 0;
}

1138

cpp 复制代码
#include<stdio.h>

int gcd(int a,int b)
{
	return b>0?gcd(b,a%b):a;
}

int main()
{
	int t;
	scanf("%d",&t);
	
	while(t--)
	{
		int a,b;
		scanf("%d%d",&a,&b);
		if(a==b)	puts("0");
		else if(b<2)	puts("1");
		else
		{
			int up=a*(a-1)-b*(b-1),down=a*(a-1);
			int temp=gcd(up,down);
			up/=temp,down/=temp;
			
			if(down==1)	printf("%d\n",up);
			else	printf("%d/%d\n",up,down);
		}
	}
	
	return 0;
}

哈哈哈确实自己可以独立ac了

相关推荐
ö Constancy几秒前
Linux 使用gdb调试core文件
linux·c语言·vim
lb36363636361 分钟前
介绍一下strncmp(c基础)
c语言·知识点
wellnw6 分钟前
[linux] linux c实现共享内存读写操作
linux·c语言
肥猪猪爸1 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn2 小时前
二分基本实现
数据结构·算法
萝卜兽编程2 小时前
优先级队列
c++·算法
盼海2 小时前
排序算法(四)--快速排序
数据结构·算法·排序算法
一直学习永不止步2 小时前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
Rstln3 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展
芜湖_3 小时前
【山大909算法题】2014-T1
算法·c·单链表