蓝杯四十三

算法提高 字符串跳步 

时间限制:1.0s  内存限制:256.0MB

提交此题   

问题描述

  给定一个字符串,你需要从第start位开始每隔step位输出字符串对应位置上的字符。

输入格式

  第一行一个只包含小写字母的字符串。

  第二行两个非负整数start和step,意义见上。

输出格式

  一行,表示对应输出。

样例输入

abcdefg

2 2

样例输出

ceg

数据规模和约定

  start从0开始计数。

  字符串长度不超过100000。

提示

  读入上有问题,可以参照字符串进位。

  尝试不要出现以下代码:for (int i = 0; i < (int) S.size(); ++i)


#include  

#include 

int main() 

    int start,step,i,l; 

    char a[100000]; 

    scanf("%s",a); 

    scanf("%d%d",&start,&step); 

    l=strlen(a); 

    i=start; 

    while(i

    { 

        printf("%c",a[i]); 

        i+=step; 

    } 

    return 0; 

思路分析:

①定义变量:小写字符串(一维数组),两个非负整数;

②输入字符串,非负整数;

③根据题意求出从第start位开始每隔step位输出字符串对应位置上的字符。



算法提高 淘淘的名单 

时间限制:100ms  内存限制:8.0MB

提交此题   

问题描述

  by ZBY... :) 淘淘拿到了一份名单,他想对上面的名字进行处理,挑出一些特殊的名字,他请你来帮忙。

  淘淘关注以下名字:

  如果这个名字是“WYS”,他希望你的程序输出“KXZSMR”。

  如果这个名字是“CQ”,他希望你的程序输出“CHAIQIANG”。

  如果这个名字是“LC“,他希望你的程序输出“DRAGONNET”。

  如果这个名字是“SYT”或“SSD”或“LSS”或“LYF”,他希望你的程序输出“STUDYFATHER”。

  如果这个名字与上述任意名字都不相同,他希望你的程序输出“DENOMINATOR”。

输入格式

  第一行有一个整数N,表示淘淘手中名单里的人数。

  接下来N行,每行有一个字符串,即名单里的人名。

输出格式

  输出N行,每行输出每个人名的判断结果。

#include 

#include 

int main() 

    int n; 

    char name[10]; 

    scanf("%d",&n); 

    while(n--) 

    { 

        scanf("%s",name); 

        if(strcmp(name,"WYS")==0) 

            printf("KXZSMR\n"); 

             

        else if(strcmp(name,"CQ")==0) 

            printf("CHAIQIANG\n"); 

  else if(strcmp(name,"LC")==0) 

            printf("DRAGONNET\n"); 

             

        else if(strcmp(name,"SYT")==0) 

            printf("STUDYFATHER\n"); 

             

        else if(strcmp(name,"SSD")==0) 

            printf("STUDYFATHER\n"); 

             

        else if(strcmp(name,"LSS")==0) 

            printf("STUDYFATHER\n");

  else if(strcmp(name,"LYF")==0) 

            printf("STUDYFATHER\n"); 

         

        else 

            printf("DENOMINATOR\n"); 

         

    } 

    return 0; 

}   

思路分析:

①定义变量:一个整数,人名(一维数组);

②输入一个整数;

③while循环,输入人名,根据每个人名的判断结果;

④输出每个人名的判断结果。

你可能感兴趣的:(蓝杯四十三)