『ACM C++』 PTA 天梯赛练习集L1 | 021-024
忙疯警告,这两天可能进度很慢,下午打了一下午训练赛,训练赛的题我就不拿过来的,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
个正整数,请统计奇数和偶数各有多少个?
输入格式:
输入第一行给出一个正整n
(≤1000);第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",×); 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; }
注:如果有更好的解法,真心希望您能够评论留言贴上您的代码呢~互相帮助互相鼓励才能成长鸭~~