• 基础习题


    1日期问题

    题解如下:

    #include<stdio.h>
    #include<math.h>
    int year [2][13]=
    {
        {0,31,28,31,30,31,30,31,31,30,31,30,31},
        {0,31,29,31,30,31,30,31,31,30,31,30,31},
    };
    bool isLeap(int year)//判断是否是闰年 
    {
        return ((year%4==0 && year%100!=0)||(year%400==0)) ;
    }
    
    int main()
    {
        int t1,y1,m1,d1;
        int t2,y2,m2,d2;
        while(scanf("%d%d",&t1,&t2)!=EOF){
            
            if(t1>t2) 
            {
                int n=t1;
                t1=t2;
                t2=n;
            }
            y1=t1/10000,m1=t1%10000/100, d1=t1%10;
            y2=t2/10000,m2=t2%10000/100, d2=t2%10;
            int ans=1;
            while(!(y1==y2&&m1==m2&&d1==d2))
            {
                d1++;
                ans++;
                if(d1==year[isLeap(y1)][m1]+1 ) //满当月天数 
                {
                    m1++;
                    d1=1;
                }
                if(m1>12)
                {
                    y1++;
                    m1=1;
                }
                
            }
            
            printf("%d",ans);
            
            
        }
        
        return 0;
            
    } 

    2)闰年:

    能被4整除但是不能被100整除 ,或者是能被100整除的年份

    if( ((0 == year%4)&&(0 != year%100)) ||(0 == year %400) )

    {

    //满足该条件的yeat就是闰年。

    }

    2. 进制问题

    • p进制数x转化为十进制y 
    #include<stdio.h>
    //p进制数x转化为十进制y 
    int main()
    {
        int p,x;
        scanf("%d%d",&p,&x);
        int y=0,product =1;
        while(x!=0){
            y=y+(x%10)*product;
            x=x/10;
            product*=p;
        }
        printf("%d",y);
        return 0;
            
    } 
    • 10进制数y转化为Q进制z
    #include<stdio.h>
    //10进制数y转化为Q进制z
    int main()
    {
        int z[40],num=0;
        int y,q;
        scanf("%d%d",&y,&q);
        do{
            z[num++]=y%q;
            y=y/q;
        }while(y!=0);
        for(int i=num-1;i--;i>0)
        {
            printf("%d",z[i]);
        }
    
        return 0;
            
    } 

    3字符串问题

    题解如下:

    #include<stdio.h>
    #include<math.h>
    #include<cstring>
    int main()
    {
        
        char str[90][90];
        int i=0;
    
        while(scanf("%s",str[i])!=EOF)
        {
        i++;
                
        }
        
        for(i=i-1;i>=0;i--)
        {
            printf("%s",str[i]);
            if(i>0) printf(" ");
        }
    
    
        return 0;
            
    } 
  • 相关阅读:
    HLS直播和时移项目上线
    贪心-hdu-1789-Doing Homework again
    算法---天才排序算法---睡眠排序
    项目集成项目管理之项目范围管理
    hdu1429之BFS
    优秀程序员不得不知道的20个位运算技巧
    eclipse报错:Failed to load the JNI shared library
    HDU 2689 sort it
    svn使用经验---不断总结
    linux下svn的用法
  • 原文地址:https://www.cnblogs.com/wml2018/p/12156730.html
Copyright © 2020-2023  润新知