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了

相关推荐
Kenneth風车13 分钟前
【机器学习(九)】分类和回归任务-多层感知机(Multilayer Perceptron,MLP)算法-Sentosa_DSML社区版 (1)111
算法·机器学习·分类
eternal__day20 分钟前
数据结构(哈希表(中)纯概念版)
java·数据结构·算法·哈希算法·推荐算法
APP 肖提莫30 分钟前
MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)
java·前端·算法
OTWOL38 分钟前
两道数组有关的OJ练习题
c语言·开发语言·数据结构·c++·算法
qq_433554541 小时前
C++ 面向对象编程:递增重载
开发语言·c++·算法
一只自律的鸡1 小时前
C语言项目 天天酷跑(上篇)
c语言·开发语言
带多刺的玫瑰1 小时前
Leecode刷题C语言之切蛋糕的最小总开销①
java·数据结构·算法
巫师不要去魔法部乱说2 小时前
PyCharm专项训练5 最短路径算法
python·算法·pycharm
qystca2 小时前
洛谷 P11242 碧树 C语言
数据结构·算法
冠位观测者2 小时前
【Leetcode 热题 100】124. 二叉树中的最大路径和
数据结构·算法·leetcode