以下所有题目都是中文,所以就不讲叙述题意,直接上代码。
Code:
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int main()
{
char a[3];
while(cin>>a)
{
sort(a,a+3);
cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<endl;
}
return 0;
}
HDU 2001
题意:求两点之间的距离。
Code:
#include <stdio.h>
#include <math.h>
int main()
{ double x1,x2,y1,y2,dx,dy;
while(scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2)!=EOF)
{
dx=fabs(x1-x2); dy=fabs(y1-y2);
printf("%.2lf\n",sqrt(dx*dx+dy*dy));
}
return 0;
}
HDU 2002
题意:
Code:
#include <iostream>
#include <cstdio>
using namespace std;
#define PI 3.1415927
int main()
{
double r,v;
while(scanf("%lf",&r) != EOF)
printf("%.3lf\n",4*PI*r*r*r/3);
return 0;
}
HDU 2003
题意:求绝对值。
Code:
#include <stdio.h>
#include <math.h>
int main()
{ double x,d;
while(scanf("%lf",&x)!=EOF)
{
d=fabs(x);
printf("%.2lf\n",d);
}
return 0;
}
HDU 2004
题意:将分数转换成对应的等级。
Code:
#include <iostream>
using namespace std;
int main()
{
int x;
while(cin>>x)
{
if(x>=90&&x<=100) cout<<'A'<<endl;
if(x>=80&&x<=89) cout<<'B'<<endl;
if(x>=70&&x<=79) cout<<'C'<<endl;
if(x>=60&&x<=69) cout<<'D'<<endl;
if(x>=0&&x<=59) cout<<'E'<<endl;
if(x>100||x<0) cout<<"Score is error!"<<endl;
}
return 0;
}
HDU 2005
题意:给你一个具体的日期,求出该日期是该年份中的第几天。
Code:
#include <stdio.h>
int fun(int y)
{
if(y%4==0&&y)
return 1;
else
return 0;
}
void main()
{
int year,month,day;
while(scanf("%d/%d/%d",&year,&month,&day)!=EOF)
{ int sum=0;
if(month>8)
sum+=(30*(month-1)+(month+1)/2+day);
else
sum+=(30*(month-1)+month/2+day);
if(month>2)
{
if(fun(year)==1) sum--;
else sum=sum-2;
}
printf("%d\n",sum);
}
}
HDU 2006
题意:求奇数的乘积。
Code:
#include<stdio.h>
int main()
{
int a,n,i,s;
while(scanf("%d",&a)!=-1)
{
s=1;
for(i=0;i<a;i++)
{
scanf("%d",&n);
if(n%2!=0)
s=s*n;
}
printf("%d\n",s);
}
return 0;
}
HDU 2007
题意:求平方和与立方和。
Code:
#include <stdio.h>
int main()
{
int m,n,i;
while(scanf("%d%d",&m,&n)!=EOF)
{
int x=0,y=0;
if(m<n)
{ for(i=m;i<=n;i++)
{
if(i%2==0) x+=i*i;
else y+=i*i*i;
}
}
else
{
for(i=m;i>=n;i--)
{
if(i%2==0) x+=i*i;
else y+=i*i*i;
}
}
printf("%d %d\n",x,y);
}
return 0;
}
HDU 2008
题意:
Code:
#include <iostream>
using namespace std;
int main()
{
int n,i,j,k,flag=1;
double a;
while(flag)
{
cin>>n;
if(n)
{ i=j=k=0;
for(int r=0;r<n;r++)
{
cin>>a;
if(a<0)
{i++;}
else if(a==0)
{j++;}
if(a>0) k++;
}
cout<<i<<" "<<j<<" "<<k<<endl;
}
else
{flag=0;}
}
return 0;
}
HDU 2009
题意:求数列的和。
Code:
#include <stdio.h>
#include <math.h>
void main()
{
double n,m,sum,i;
while(scanf("%lf%lf",&n,&m)!=EOF)
{
;
for( i=0, sum=0;i<m;i++)
{
sum+=n;
n=sqrt(n);
}
printf("%.2lf\n",sum);
}
}
HDU 2010
题意:水仙花数。
Code:
#include <iostream>
using namespace std;
int main()
{ int m,n,t,a,b,c;
while(cin>>m>>n)
{ t=0;
while(m<=n)
{
a=m/100;b=(m%100)/10;c=m%10;
if(m==a*a*a+b*b*b+c*c*c)
{cout<<m<<" ";t++;}
m++;
}
if(t){cout<<endl;}
else {cout<<"no"<<endl;}
}
return 0;
}
HDU 2011
Code:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
long long fenzi,fenmu = 1;
int m,n,j = 0;
double a[1000];
cin>>m;
while(m--)
{
cin>>n; a[j] = n; j++;
}
for(int k = 0; k< j; k++)
{for(int i = 1;i<=a[k];i++)
fenmu *=i;
fenzi = fenmu;
for(int i = 2; i<= n; i++)
{
if(i%2 == 0) fenzi -= fenmu/i;
else fenzi += fenmu/i;
}
printf("%.2lf\n",(double)fenzi/fenmu);
}
return 0;
}
HDU 2012
Code:
#include<stdio.h>
#include<math.h>
int main()
{
int x,y,n,k,i,j;
while(scanf("%d%d",&x,&y)!=EOF)
{
if(x==0&&y==0) break;
else
{
for(i=x,k=1;i<=y;i++)
{
n=i*i+i+41;
for(j=2;j<sqrt((double)n);j++)
{
if(n%j==0)
{ k=0; break; }
}
if(k==0)
{ printf("Sorry\n");break; }
}
if(k)printf("OK\n");
}
}
return 0;
}
HDU 2013
Code:
#include <iostream>
using namespace std;
int main()
{
int a[30],i,n;
while(cin>>n&&n)
{
if(n>1&&n<30)
{ a[0]=1;
for(i=0;i<n;i++)
{
a[i+1]=2*(a[i]+1);
}
cout<<a[i-1]<<endl;
}
}
return 0;
}
HDU 2014
Code:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{ int i,j,k,m,n,a[100],temp;
double score,sum;
while(cin>>n)
{
if(n>2&&n<=100)
{ sum=0;
for(i=0;i<n;i++)
cin>>a[i];
for(j=0;j<n-1;j++)
for(k=n-1;k>j;k--)
{
if(a[k]<a[k-1])
{
temp=a[k];
a[k]=a[k-1];
a[k-1]=temp;
}
}
for(m=1;m<n-1;m++)
sum+=a[m];
score=double (sum/(n-2));
cout<<setiosflags(ios::fixed)<<setprecision(2)<<score<<endl;
}
}
return 0;
}
HDU 2015
Code:
#include <iostream>
using namespace std;
int a[100],n,m;
int main()
{
int i,temp;
int len = 0,k = 1;
while(len<100)
{
if(k%2 == 0)
{
a[len] = k;
len++,k++;
}
else k++;
}
while(cin>>n>>m)
{
if(n%m == 0)
{
for(i = 0; i< n-m; i +=m)
{
temp = 0;
for(int j = i; j< i+m; j++)
temp += a[j];
cout<<temp/m<<" ";
}
temp = 0;
for(int j = i; j< i+m; j++)
temp += a[j];
cout<<temp/m<<endl;
}
else
{
for(i = 0; i< n-(n%m); i +=m)
{
temp = 0;
for(int j = i; j< i+m; j++)
temp += a[j];
cout<<temp/m<<" ";
}
temp = 0;
for(int j = i; j< i+(n%m); j++)
temp += a[j];
cout<<temp/(n%m)<<endl;
}
}
return 0;
}
HDU 2016
Code:
#include <iostream>
using namespace std;
int main()
{
int n,min,flag,a[101];
while(cin>>n && n)
{
min = 1000000;
for(int i = 0; i < n; i++)
{
cin>>a[i];
if(a[i] < min) min = a[i],flag = i;
}
a[flag] = a[0] , a[0] = min;
for(int j = 0; j < n-1; j++)
cout<<a[j]<<" ";
cout<<a[n-1]<<endl;
}
return 0;
}
HDU 2017
Code:
#include <iostream>
#include <cstring>
using namespace std;
char a[100][100];
int n,cnt;
int main()
{
int i,j;
while(cin>>n)
{
for(i = 0; i < n; i++)
{
cin>>a[i]; cnt = 0;
for(j = 0; j< strlen(a[i]); j++)
{
if(a[i][j] >= '0' && a[i][j] <='9') cnt++;
}
cout<<cnt<<endl;
}
}
return 0;
}
HDU 2018
Code:
#include <iostream>
using namespace std;
int main()
{
int i,n,f[55]={1,2,3,4};
for(i=4;i<55;i++)
f[i]=f[i-3]+f[i-1];
while(cin>>n&&n)
cout<<f[n-1]<<endl;
return 0;
}
HDU 2019
Code:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[101],n,m;
while(cin>>n>>m && n+m)
{
for(int i = 0; i < n; i++)
cin>>a[i];
a[n] = m;
sort(a,a+n+1);
for(int i = 0; i< n; i++)
cout<<a[i]<<" ";
cout<<a[n]<<endl;
}
return 0;
}
HDU 2020
Code:
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
struct Node{
int x,y;
bool operator < (const Node& a) const
{
return y > a.y;
}
}array[101];
int main()
{
int n;
while(cin>>n && n)
{
for(int i =0; i< n; i++)
{
cin>>array[i].x;
array[i].y = abs(array[i].x);
}
sort(array,array+n);
for(int i = 0; i < n-1; i++)
cout<<array[i].x<<" ";
cout<<array[n-1].x<<endl;
}
return 0;
}