zoukankan      html  css  js  c++  java
  • 假期编程

    此博客链接:https://www.cnblogs.com/ping2yingshi/p/12285269.html

    1.Palindromes _easy version(32min)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2029

    Problem Description
    “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。
    Input
    输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。
    Output
    如果一个字符串是回文串,则输出"yes",否则输出"no".
    Sample Input
    4
    level
    abcde
    noon
    haha
    Sample Output
    yes
    no
    yes
    no
    题解:此题就是回文数的判断,定义一个字符数组来存储字符串,但是一开始我没有想好是用scanf()还是getchar(),所以写的慢了一点。
    代码如下:
    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<string.h>
    int main(void)
    {
       
        int n; 
        scanf("%d",&n); 
        while(n>0)
        { 
            int i;
            char ch[100];
            scanf("%s",&ch);
            int str=strlen(ch);
            int flag=1;
            for(i=0;i<str;i++)
            {
                if(ch[i] !=ch[str-1-i]){
                    flag=0;
                    printf("no");
                    break;
                }
                
                    
            }
            if(flag==1)
                printf("yes");
            printf("
    ");
            n--;            
            }
      
        return 0;
        
    }

     2.An easy problem(27min)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2055

    Problem Description
    we define f(A) = 1, f(a) = -1, f(B) = 2, f(b) = -2, ... f(Z) = 26, f(z) = -26;
    Give you a letter x and a number y , you should output the result of y+f(x).
    Input
    On the first line, contains a number T.then T lines follow, each line is a case.each case contains a letter and a number.
    Output
    for each case, you should the result of y+f(x) on a line.
    Sample Input
    6
    R 1
    P 2
    G 3
    r 1
    p 2
    g 3
    Sample Output
    19
    18
    10
    -17
    -14
    -4
    题解:此题还是比较简单的,我用了两种方法
    方法1:定义两个数组来存放大小写字母的值,把输入的字母减去a或者A的ASCII值得到相应字母的数组下标,再用数组中的值加上y,就可以得到结果了。
    方法2:不定义数组,直接把输入的字母减去a或者A,这里还能进一步优化,当输入字母是小写字母时,可以用a减去输入的字母再减去1,得到题目给的函数值,当输入字母时大写字母时,用输入的字母减去A再加上1,得到题目给的函数值,最后再加上y得到所求结果。
    代码1如下:
    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<string.h>
    int main(void)
    {
        int ct[26]={-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26};
        int cp[26]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26};
        
        int n; 
        scanf("%d",&n); 
        while(n>0)
        { 
            char ch;
            int y=0;
            int sum;
            int i;
            getchar();
            scanf("%c %d",&ch,&y);
            if(ch>='a'&&ch<='z')
            {
                i=ch-'a';
                sum=ct[i]+y;
            }
            if(ch>='A'&&ch<='Z')
            {
                i=ch-'A';
                sum=cp[i]+y;
            }
            printf("%d",sum);
            printf("
    ");
            n--;            
            }
      
        return 0;
        
    }
    代码2如下:
    #include<stdio.h>
    #include<math.h>
    #include<stdlib.h>
    #include<string.h>
    int main(void)
    {
        int n; 
        scanf("%d",&n); 
        while(n>0)
        { 
            char ch;
            int y=0;
            int i;
            getchar();
            scanf("%c %d",&ch,&y);
            if(ch>='a')
            {
                i='a'-ch-1;
            }
            else 
            {
                i=ch-'A'+1;
              
            } 
            
            printf("%d",i+y);
            printf("
    ");
            n--;            
            }
      
        return 0;
        
    }
  • 相关阅读:
    jquery分析之文件
    利用avalon+原生js来制作日历空间(一)
    页面中,如果因为ajax导致页面有一段时间的空白期,应该如何处理。
    无限轮播图的制作
    Kalendae——一款功能强大的日历插件
    web页面制作-环游记(二)
    web页面制作-环游记(一)
    javascript数据类型(二)
    VMware安装&在VMware中安装CentOS7
    Jenkins集成Allure报告详解-亲历噢
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/12285269.html
Copyright © 2011-2022 走看看