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了

相关推荐
疯狂吧小飞牛15 小时前
Lua C API 中一段LUA建表过程解释
c语言·junit·lua
C嘎嘎嵌入式开发15 小时前
【机器学习算法篇】K-近邻算法
算法·机器学习·近邻算法
小L~~~15 小时前
2025吉比特-游戏引擎开发-一面复盘
数据结构·算法·游戏引擎
程序猿Eason16 小时前
U587038 背包 题解
c++·算法·动态规划
potato_may16 小时前
第18讲:C语言内存函数
c语言·数据结构·算法
顾晨阳——16 小时前
C/C++字符串
c语言·c++·字符串
dingzd9517 小时前
TikTok推荐算法快速解析
算法·机器学习·web3·facebook·推荐算法·tiktok·instagram
仰泳的熊猫17 小时前
LeetCode:95. 不同的二叉搜索树 II
数据结构·c++·算法·leetcode
Nix Lockhart17 小时前
《算法与数据结构》第七章[算法4]:最短路径
c语言·数据结构·学习·算法·图论