【ACM】航电oj 2000-2025

航电oj 2000-2025 正在更新…

2000

2000

#include <stdio.h>
int main(int argc, char *argv[])
{
	char a,b,c; 
	while(~scanf(" %c%c%c",&a,&b,&c))
	{
		if(a>b&&b>c) printf("%c %c %c
",c,b,a);
		else if(a>c&&c>b||a==c&&c>b) printf("%c %c %c
",b,c,a);
		else if(b>c&&c>a||b==c&&c>a) printf("%c %c %c
",a,c,b);
		else if(b>a&&a>c||b==a&&a>c) printf("%c %c %c
",c,a,b);
		else if(c>a&&a>b||c==a&&a>b) printf("%c %c %c
",b,a,c);
		else if(c>b&&b>a||c==b&&b>a) printf("%c %c %c
",a,b,c);
		else if(c==b&&c==a) printf("%c %c %c",a,b,c);
	} 
	return 0;
}

~scanf(" %c%c%c",&a,&b,&c) 记住要加空格,作用是读出换行符。getchar()也能实现,只需在每个循环的最后加上就行。

2001

2001

#include <stdio.h>
#include <math.h>
int main(){
	double x1,x2,y1,y2;
		while(~scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2))
		{
			printf("%.2f
",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
		}
		
	return 0;
}

~scanf() 只有 返回值为EOF 的时候 ~EOF 才能为0 其余 都不会。或者用scanf()!=EOF

2002

2002

#include <stdio.h>
#define PI 3.1415927 
int main(int argc, char *argv[])
{
	double r;
	while(~scanf(" %lf",&r))
	{
		printf("%.3f
",4*PI*r*r*r/3);
	}
	return 0;
}

要先 ×/,不然答案会错。不能直接4/3

2003

2003

#include <stdio.h>
int main(int argc, char *argv[])
{
	double num;
	while(~scanf(" %lf",&num)){
		if(num<0) num=num-2*num;
		printf("%.2lf
",num);
	}
	return 0;
}

2004

2004

#include <stdio.h>
int main(int argc, char *argv[])
{
	int t;
	while(~scanf(" %d",&t))
	{
		if(t>=90&&t<=100c) printf("A
");
		else if(t>=80&&t<=89) printf("B
");
		else if(t>=70&&t<=79) printf("C
");
		else if(t>=60&&t<=69) printf("D
");
		else if(t>=0&&t<=59) printf("E
");
		else printf("Score is error!
");
	}
	return 0;
}

2005

#include <stdio.h>
int main(int argc, char *argv[])
{
	int YYYY,MM,DD;
	while(~scanf(" %d/%d/%d",&YYYY,&MM,&DD))
	{
		int sum;
		int arr[12][2]={
		{1,31},{2,28},{3,31},{4,30},{5,31},{6,30},{7,31},{8,31},{9,30},{10,31},{11,30},{12,31}
	};
		if(YYYY%4==0) arr[1][1]=29;
		for(int i=0;i<MM-1;i++)
		{
			sum=sum+arr[MM][1];
		}
		sum=sum+DD;
		printf("%d
",sum);
	}
	return 0;
}

2006

#include <stdio.h>
int main(int argc, char *argv[])
{
	int n,a;

	while(~scanf("%d",&n))
	{
		int sum=1;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a);
			if(a%2!=0||a%2==1) sum=sum*a;
		}
		printf("%d
",sum);
		getchar();
	}
	return 0;
}

奇数:余2不为0或余2为1

2007

#include <stdio.h>
int main(int argc, char *argv[])
{
	int n,m;
	while(~scanf("%d %d",&n,&m))
	{
		int temp;
		//记住一定要考虑符号交换顺序 
		if(n>m){
			temp=n;
			n=m;
			m=temp;
		}
		int sum1=0,sum2=0;
		for(int i=n;i<=m;i++)
		{
			if(i%2==1) sum1+=i*i*i;
			else sum2+=i*i;
		}
		printf("%d %d
",sum2,sum1);
		getchar();
	}
	return 0;
}

2008

#include <stdio.h>
int main(int argc, char *argv[])
{
	int n;
	while(~scanf("%d",&n))
	{
		if(n==0) break;
		int a=0,b=0,c=0;
		double x;
		for(int i=0;i<n;i++)
		{
			scanf("%lf",&x);			
			if(x<0) a++;
			else if(x==0) b++;
			else if(x>0) c++;
		 } 
		printf("%d %d %d
",a,b,c);
	}
	return 0;
}

2009

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n,m;
	while(~scanf("%d %d",&n,&m))
	{
		double sum=n;
		double num=n;
		for(int i=0;i<m-1;i++)
		{
			num=sqrt(num);
			sum=sum+num;
		}
		printf("%.2f
",sum);
	}
	return 0;
}

2010 有点问题

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n,m;
	while(~scanf("%d %d",&n,&m))
	{
		int temp=0;
		int count=0;
		int arr[900]={0};
		for(int i=n;i<=m;i++)
		{
			int sum=0;
			int i0=i;
			for(int j=0;j<3;j++)
			{
				temp=i0%10;
				sum+=pow(temp,3);
				i0=i0/10;
			}
			if(sum==i) 
			{
				arr[count++]=i;	
			}
		}
		if(count==0) printf("no");
		else {
			for(int i=0;i<count-1;i++)
			{
				printf("%d ",arr[i]);
			}
			printf("%d
",arr[count-1]);
		}
		getchar();
	}
	return 0;
}

2011

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int m;
	scanf("%d",&m);
	double n;
	for(int i=0;i<m;i++)//输入几个实例 
	{
		double sum=0;
		scanf("%lf",&n);
		for(int j=1;j<=n;j++)
		{
			sum=sum+(1.0/j)*pow(-1,j+1);
		 } 
		printf("%.2f
",sum);
	}
	return 0;
}

2012

#include <stdio.h>
#include <math.h>
int Sushu(int a)
{
	int b=0;
	for(int i=2;i<a/2;i++)
	{
		if(a%i==0)
			b++;
	}
	if(b==0)
		return 1;
	else
		return 0;
}
int main(int argc, char *argv[])
{
	int n;
	int x,y;
	while(~scanf("%d %d",&x,&y)){
		if(x==0&&y==0)
		{
			continue;
		}
		else{
			int temp=x;
			if(x>y){
				x=y;
				y=temp;
			} 
			int count=0;
			for(int i=x;i<=y;i++)
			{
				if(Sushu(i*i+i+41))
				{
					count++;
				}
			}
			if(count==(y-x+1)) printf("OK
");
			else printf("Sorry
");
		}
		getchar();	
	}

	return 0;
}

2013

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n;
	while(~scanf("%d",&n))
	{
		int sum=1;
		for(int i=0;i<n-1;i++)
		{
			sum=(sum+1)*2;
		}
		printf("%d
",sum);		
	}
		return 0;
}

2014

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n;
	while(~scanf(" %d",&n))
	{
		getchar();
		double sum=0;
		int max=0,min=0,grade=0;
		scanf("%d",&grade);
		sum+=grade;
		max=grade;
		min=grade;
		for(int i=0;i<n-1;i++)
		{
			int temp;
			scanf("%d",&grade);
			sum+=grade;
			if(max<grade) max=grade;
			if(min>grade) min=grade;
		}	
		sum=sum-max-min;
		printf("%.2f
",sum/(n-2));
	}
		return 0;
}

2015

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n,m;
	while(~scanf(" %d %d",&n,&m))
	{
		int num=0,sum=0,count=0;
		for(int i=1;i<=n;i++)
		{
			num+=2;
			sum=sum+num;
			count++;
			if(i%m==0||i==n)
			{
				printf("%d",sum/count); 
				sum=0;
				count=0;
				if(i!=n) printf(" ");	
			} 
			 
		}
		printf("
");
	}
		return 0;
}

2016

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n,m;
	while(~scanf(" %d",&n))
	{
		if(n==0) continue;
		int a[100]; 
		int min,num,target;
		scanf("%d",&num);
		min=num;
		a[0]=num;
		target=0;
		for(int i=1;i<n;i++)
		{
			scanf("%d",&num);
			if(num<min) 
			{
				min=num;
				target=i;
			}
			a[i]=num;
		}
		a[target]=a[0];
		a[0]=min;
		for(int i=0;i<n;i++)
		{
			if(i!=n-1) printf("%d ",a[i]);
			else printf("%d",a[i]);
		}
			printf("
");
		}
	
		return 0;
}

2017

#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n,m;
	scanf(" %d",&n);
	for(int i=0;i<n;i++)
	{
		char s[100]={''};
		int count=0;
		scanf(" %s",&s);
		for(int j=0;s[j]!='';j++)
		{
			if(s[j]>=48&&s[j]<=57) count++;
		}
		printf("%d
",count);
	}
	return 0;
}

2023

#include<stdio.h>
int main()
{
int n,m,i,j,count,s;
double a[51][51],sum1[51],sum2[51];
while(scanf("%d%d",&n,&m)!=EOF)
	{
		for(j=1;j<=m;j++)
		{
			sum2[j]=0;
		}
		for(i=1;i<=n;i++)
		{
			sum1[i]=0;
			for(j=1;j<=m;j++)
			{
				scanf("%lf",&a[i][j]);
				sum1[i]+=a[i][j];
				sum2[j]+=a[i][j];
			}
		}
		for(i=1;i<=n;i++)
		{
			if(i!=n)
				printf("%.2lf ",sum1[i]/(double)m);
			else
				printf("%.2lf",sum1[i]/(double)m);
		}
		printf("
");
		for(i=1;i<=m;i++)
		{
			if(i!=m)
				printf("%.2lf ",sum2[i]/(double)n);
			else
				printf("%.2lf",sum2[i]/(double)n);
		}
		printf("
");
		count=0;
		for(i=1;i<=n;i++)
		{
			s=0;
			for(j=1;j<=m;j++)
			{
				if(a[i][j]>=sum2[j]/(double)n)
				s++;
			}
			if(s==m)
			count++;
		}
		printf("%d

",count);
	}
}
原文地址:https://www.cnblogs.com/SiriusZHT/p/14310806.html