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了

相关推荐
今天背单词了吗98022 分钟前
算法学习笔记:8.Bellman-Ford 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·后端·算法·最短路径问题
手握风云-32 分钟前
优选算法的链脉之韵:链表专题
数据结构·算法·链表
Coding小公仔36 分钟前
LeetCode 151. 反转字符串中的单词
开发语言·c++·算法
稳兽龙36 分钟前
P1098 [NOIP 2007 提高组] 字符串的展开
c++·算法·模拟
墨小傲38 分钟前
基于Linux下的vscode c/c++开发环境搭建详细教程
linux·c语言·vscode
G.E.N.42 分钟前
开源!RAG竞技场(2):标准RAG算法
大数据·人工智能·深度学习·神经网络·算法·llm·rag
写个博客1 小时前
暑假算法日记第三天
算法
✿ ༺ ོIT技术༻1 小时前
剑指offer第2版:动态规划+记忆化搜索
算法·动态规划·记忆化搜索
oioihoii2 小时前
C++11标准库算法:深入理解std::none_of
java·c++·算法
阿捏利2 小时前
【加解密与C】非对称加解密(二)ELGamel
c语言·加解密·elgamel