HDOJ 2000-2010

Output Limit Exceeded
可能是while死循环出不来。修改:while(~scanf(
可能是输入数据的类型错误。
以下题目提交用G++

2000 ASCII码排序

#include<bits/stdc++.h>
int main(){
    
    
	char ch[3];
	while(~scanf("%c%c%c",&ch[0],&ch[1],&ch[2])){
    
    
		for(int i=0;i<3-1;i++){
    
    	//冒泡
			for(int j=0;j<3-i-1;j++){
    
    
				if(ch[j]>ch[j+1]){
    
    
					ch[j] = ch[j]+ch[j+1];
					ch[j+1] = ch[j]-ch[j+1];
					ch[j] = ch[j]-ch[j+1];
				}
			}
		}
		printf("%c %c %c\n",ch[0],ch[1],ch[2]);
		getchar();
	}
	return 0;
}

2001 计算两点间的距离

#include<bits/stdc++.h>
int main(){
    
    
	double a,b,c,d;
	while(~scanf("%lf %lf %lf %lf",&a,&b,&c,&d)){
    
    
		double distence = pow(pow(c-a,2)+pow(b-d,2),0.5);
		printf("%.2f\n",distence);
	}
	return 0;
}

2002 计算球体积

半径如果用float会WA

#include<bits/stdc++.h>
const double PI=3.1415927;
int main(){
    
    
	double r;
	while(~scanf("%lf",&r)){
    
    
		double v = 4*PI*r*r*r/3;
		printf("%.3f\n",v);
	}
	return 0;
}

2003 求绝对值

#include<bits/stdc++.h>
int main(){
    
    
	double num;
	while(~scanf("%lf",&num)){
    
    
		num>0?printf("%.2f\n",num):printf("%.2f\n",-num);
	}
	return 0;
}

2004 成绩转换

#include<bits/stdc++.h>
int main(){
    
    
	double score;
	while(~scanf("%lf",&score)){
    
    
		switch(int(score/10)){
    
    
			case 10: printf("A\n");break;
			case 9:printf("A\n");break;
			case 8:printf("B\n");break;
			case 7:printf("C\n");break;
			case 6:printf("D\n");break;
			case 5:printf("E\n");break;
			case 4:printf("E\n");break;
			case 3:printf("E\n");break;
			case 2:printf("E\n");break;
			case 1:printf("E\n");break;
			default:printf("Score is error!\n");
		}
	}
	return 0;
}

2005 第几天?

#include<bits/stdc++.h>
int main(){
    
    
	int year,month,day;
	int leap[12] = {
    
    31,29,31,30,31,30,31,31,30,31,30,31};
	int common[12] = {
    
    31,28,31,30,31,30,31,31,30,31,30,31};
	while(~scanf("%d/%d/%d",&year,&month,&day)){
    
    
		int days = 0;
		if( (year%4==0 && year%100!=0) || year%400==0 )
			for(int i=0;i<month-1;i++) days += leap[i];
		else for(int i=0;i<month-1;i++) days += common[i];
		days += day;
		printf("%d\n",days);
	}
	return 0;
}

2006 求奇数的乘积

#include<bits/stdc++.h>
int main(){
    
    
	int n;
	while(~scanf("%d",&n)){
    
    
		int product=1;
		int num;
		for(int i=0;i<n;i++){
    
    
			scanf("%d",&num);
			if(num%2==1) product *= num;
		}
		printf("%d\n",product);
	}
	return 0;
} 

2007 平方和与立方和

#include<bits/stdc++.h>
int main(){
    
    
	int m,n;
	while(~scanf("%d %d",&m,&n)){
    
    
		if(m>n){
    
    
			m = m+n;
			n = m-n;
			m = m-n;
		}
		int even=0,odd=0;
		for(int i=m;i<=n;i++){
    
    
			if(i%2==0) even += pow(i,2);
			else odd += pow(i,3);
		}
		printf("%d %d\n",even,odd);
	}
	return 0;
}

2008 数值统计

#include<bits/stdc++.h>
int main(){
    
    
	int n;
	while(~scanf("%d",&n)){
    
    
		if(n==0) break;
		int negative=0,zero=0,positive=0;
		double num;
		for(int i=0;i<n;i++){
    
    
			scanf("%lf",&num);
			if(num<0) negative += 1;
			else if(num==0) zero += 1;
			else positive += 1;
		}
		printf("%d %d %d\n",negative,zero,positive);
	}
	return 0;
}

2009 求数列的和

#include<bits/stdc++.h>
int main(){
    
    
	int n,m;
	while(~scanf("%d %d",&n,&m)){
    
    
		double mix=n,num=n;
		for(int i=1;i<m;i++){
    
    
			num = pow(num,0.5);
			mix += num;
		}
		printf("%.2f\n",mix);
	}
	return 0;
}

2010 水仙花数

#include<bits/stdc++.h>
int main(){
    
    
	int m,n;
	while(~scanf("%d %d",&m,&n)){
    
    
		int num=0;
		for(int i=m;i<=n;i++){
    
    
			int bai = i/100;
			int ge  = i%10;
			int shi = i%100/10;
			if(i==pow(bai,3)+pow(ge,3)+pow(shi,3)){
    
    
				if(num>=1) printf(" ");
				printf("%d",i);
				num += 1;
			}	
		}
		if(num==0) printf("no\n");
		else printf("\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_46523755/article/details/114780470
今日推荐