『ACM C++』 PTA 天梯赛练习集L1 | 021-024

半腔热情 提交于 2020-05-02 02:22:43

  忙疯警告,这两天可能进度很慢,下午打了一下午训练赛,训练赛的题我就不拿过来的,pta就做了一点点,明天又是满课的一天,所以进度很慢啦~ 

 

 

------------------------------------------------L1-021----------------------------------------------------------

重要的话说三遍

这道超级简单的题目没有任何输入。

你只需要把这句很重要的话 —— “I'm gonna WIN!”——连续输出三遍就可以了。

注意每遍占一行,除了每行的回车不能有任何多余字符。

输入样例:

输出样例:

I'm gonna WIN!
I'm gonna WIN!
I'm gonna WIN!

------------------------------------------------L1-021----------------------------------------------------------

 注解:水题,直接for就AC了

#include<stdio.h>

int main()
{
    for(int i = 0;i<3;i++)
        printf("I'm gonna WIN!\n");
    return 0;
 } 

 

 

------------------------------------------------L1-022----------------------------------------------------------

奇偶分家

给定N个正整数,请统计奇数和偶数各有多少个?

输入格式:

输入第一行给出一个正整N1000);第2行给出N个非负整数,以空格分隔。

输出格式:

在一行中先后输出奇数的个数、偶数的个数。中间以1个空格分隔。

输入样例:

9
88 74 101 26 15 0 34 22 77

输出样例:

3 6

------------------------------------------------L1-022----------------------------------------------------------

注解:水题,一个取模解决。

#include<stdio.h>

int times,ou,ji;
int main()
{
    ou = ji = 0;
    scanf("%d",&times);
    for(int i = 0;i<times;i++)
    {
        int temp;
        scanf("%d",&temp);
        if(temp%2 == 0) ou++;
        else ji++;
    }
    printf("%d %d",ji,ou);
    return 0;
}

 

 

 

------------------------------------------------L1-023----------------------------------------------------------

输出GPLT

给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按GPLTGPLT....这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按GPLT的顺序打印,直到所有字符都被输出。

输入格式:

输入在一行中给出一个长度不超过10000的、仅由英文字母构成的非空字符串。

输出格式:

在一行中按题目要求输出排序后的字符串。题目保证输出非空。

输入样例:

pcTclnGloRgLrtLhgljkLhGFauPewSKgt

输出样例:

GPLTGPLTGLTGLGLL

------------------------------------------------L1-023----------------------------------------------------------

注解:水题,扫个循环就过了。

#include<stdio.h>
#include<string.h>
char temp[10001];
int letter[4];
char out[4] = {'G','P','L','T'};
int main()
{
    scanf("%s",temp);
    for(int i = 0;i<strlen(temp);i++)
    {
        if(temp[i] == 'G' || temp[i] == 'g') letter[0]++;
        else if(temp[i] == 'P' || temp[i] == 'p') letter[1]++;
        else if(temp[i] == 'L' || temp[i] == 'l') letter[2]++;
        else if(temp[i] == 'T' || temp[i] == 't') letter[3]++;
    }
    while(1)
    {
        for(int i = 0;i<4;i++)
        {
            if(letter[i] == 0) continue;
            letter[i]--;
            printf("%c",out[i]);
        }
        if(letter[0] == 0 && letter[1] == 0 && letter[2] == 0 & letter[3] == 0) break;
    }
    printf("\n");
    return 0;
}

 

 

 

------------------------------------------------L1-024----------------------------------------------------------

后天

如果今天是星期三,后天就是星期五;如果今天是星期六,后天就是星期一。我们用数字1到7对应星期一到星期日。给定某一天,请你输出那天的“后天”是星期几。

输入格式:

输入第一行给出一个正整数D(1 ≤ D ≤ 7),代表星期里的某一天。

输出格式:

在一行中输出D天的后天是星期几。

输入样例:

3

输出样例:

5

------------------------------------------------L1-024----------------------------------------------------------

注解:水题不解释

#include<stdio.h>

int temp;
int main()
{
    scanf("%d",&temp);
    temp+=2;
    while(temp>7) temp-=7;
    printf("%d\n",temp);
    return 0;
}

 

 

注:如果有更好的解法,真心希望您能够评论留言贴上您的代码呢~互相帮助互相鼓励才能成长鸭~~

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!