1. 程式人生 > >HDOJ題目(11.22-12.22)

HDOJ題目(11.22-12.22)

HDOJ題目(11.22-12.22)

 

 

 

hdoj_2000

注意getchar的用方法,按照以上的輸入之後,處理三個字元以外還會有換行符

 

#include<iostream>
#include<cstdio> 
#include<algorithm>
#include<algorithm>
using namespace std;
int main()
{
    char arr[3];
    while(scanf("%c%c%c",&arr[0],&arr[1
],&arr[2])!=EOF) { //cout<<getchar(); //輸出是10 //cout<<(int)('\n'); //輸出也是10 getchar(); sort(arr,arr+3); printf("%c %c %c\n",arr[0],arr[1],arr[2]); } }

 

hdoj_2002

 

#include<iostream>
#include<cstdio> 
#include<algorithm>
#include
<algorithm> #include<cmath> #define PI 3.1415927 using namespace std; int main() { //double精度高,有效數字16位,float精度7位 //用double才夠表示,不然會溢位 double r; double rst; while(scanf("%lf",&r)!=EOF) { rst=(4/3.0)*PI*pow(r,3);//注意一定要3.0或者4.0,不然3/4=1 printf("%.3lf\n",rst); } }

 

 

hdoj_2005

會忘記歸0很不好

#include<iostream>
#include<cstdio> 
#include<algorithm>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int year,month,day;
    char ch;
    
    int arr1[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int arr2[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
    while(scanf("%d%c%d%c%d",&year,&ch,&month,&ch,&day)!=EOF)
    {
        int rst=0; //算完一次要歸0 
        if(year%400==0 ||(year%4==0 && year%100!=0))//閏年 
        {
            for(int i=0;i<month;i++)
                rst+=arr2[i];
            rst+=day;    
        }
        else//非閏年 
        {
            for(int i=0;i<month;i++)
                rst+=arr1[i];
            rst+=day;
        }
        printf("%d\n",rst);
    }
}

 

 

hdoj_2006

 

#include<iostream>
#include<cstdio> 
#include<algorithm>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int arr[10000];//不可以用int arr[n]本地正確,但是oj會編譯出錯 
        long long rst=1;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&arr[i]);
            if(arr[i]%2!=0)
                rst*=arr[i];
        }
        printf("%lld\n",rst);    //用lld不然會溢位 
            
     } 
} 

 

 

hdoj_2007

#include<iostream>
#include<cstdio> 
#include<algorithm>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int L,R;
    while(scanf("%d %d",&L,&R)!=EOF)
    {
        long long rst1=0,rst2=0;
        if(L>R)
            swap(L,R) ;//坑點在此,題目沒有明說大小 
        for(int i=L;i<=R;i++)
        {
            if(i%2==0)
                rst1+=pow(i,2);
            else
                rst2+=pow(i,3);            
        }    
        printf("%lld %lld\n",rst1,rst2);
    }
}