PAT 1164 Good in C 测试点3,4

这篇具有很好参考价值的文章主要介绍了PAT 1164 Good in C 测试点3,4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

个人学习记录,代码难免不尽人意。

When your interviewer asks you to write “Hello World” using C, can you do as the following figure shows?
PAT 1164 Good in C 测试点3,4,PTA,开发语言,c++,算法,pat,数据结构
Input Specification:
Each input file contains one test case. For each case, the first part gives the 26 capital English letters A-Z, each in a 7×5 matrix of C’s and .'s. Then a sentence is given in a line, ended by a return. The sentence is formed by several words (no more than 10 continuous capital English letters each), and the words are separated by any characters other than capital English letters.

It is guaranteed that there is at least one word given.

Output Specification:
For each word, print the matrix form of each of its letters in a line, and the letters must be separated by exactly one column of space. There must be no extra space at the beginning or the end of the word.

Between two adjacent words, there must be a single empty line to separate them. There must be no extra line at the beginning or the end of the output.

Sample Input:
…C…
.C.C.
C…C
CCCCC
C…C
C…C
C…C
CCCC.
C…C
C…C
CCCC.
C…C
C…C
CCCC.
.CCC.
C…C
C…
C…
C…
C…C
.CCC.
CCCC.
C…C
C…C
C…C
C…C
C…C
CCCC.
CCCCC
C…
C…
CCCC.
C…
C…
CCCCC
CCCCC
C…
C…
CCCC.
C…
C…
C…
CCCC.
C…C
C…
C.CCC
C…C
C…C
CCCC.
C…C
C…C
C…C
CCCCC
C…C
C…C
C…C
CCCCC
…C…
…C…
…C…
…C…
…C…
CCCCC
CCCCC
…C
…C
…C
…C
C…C
.CCC.
C…C
C…C.
C.C…
CC…
C.C…
C…C.
C…C
C…
C…
C…
C…
C…
C…
CCCCC
C…C
C…C
CC.CC
C.C.C
C…C
C…C
C…C
C…C
C…C
CC…C
C.C.C
C…CC
C…C
C…C
.CCC.
C…C
C…C
C…C
C…C
C…C
.CCC.
CCCC.
C…C
C…C
CCCC.
C…
C…
C…
.CCC.
C…C
C…C
C…C
C.C.C
C…CC
.CCC.
CCCC.
C…C
CCCC.
CC…
C.C…
C…C.
C…C
.CCC.
C…C
C…
.CCC.
…C
C…C
.CCC.
CCCCC
…C…
…C…
…C…
…C…
…C…
…C…
C…C
C…C
C…C
C…C
C…C
C…C
.CCC.
C…C
C…C
C…C
C…C
C…C
.C.C.
…C…
C…C
C…C
C…C
C.C.C
CC.CC
C…C
C…C
C…C
C…C
.C.C.
…C…
.C.C.
C…C
C…C
C…C
C…C
.C.C.
…C…
…C…
…C…
…C…
CCCCC
…C
…C.
…C…
.C…
C…
CCCCC
HELLO~WORLD!
Sample Output:
C…C CCCCC C… C… .CCC.
C…C C… C… C… C…C
C…C C… C… C… C…C
CCCCC CCCC. C… C… C…C
C…C C… C… C… C…C
C…C C… C… C… C…C
C…C CCCCC CCCCC CCCCC .CCC.

C…C .CCC. CCCC. C… CCCC.
C…C C…C C…C C… C…C
C…C C…C CCCC. C… C…C
C.C.C C…C CC… C… C…C
CC.CC C…C C.C… C… C…C
C…C C…C C…C. C… C…C
C…C .CCC. C…C CCCCC CCCC.

#include<cstdio> 
#include<iostream>
#include<algorithm>
#include<cmath>
#include<stack>
#include<string> 
#include<vector>
using namespace std;
const int maxn=1010;

int main(){
	string letter[26][7];
	for(int i=0;i<26;i++){
		for(int j=0;j<7;j++){
			string str;
			getline(cin,str);
			letter[i][j]=str;
		}
	}
	string str;
	getline(cin,str);
    
	vector<string> temp;
	string s="";
	for(int i=0;i<str.size();i++){
		if(str[i]>='A'&&str[i]<='Z'){
			s=s+str[i];
		}
		else{
			if(s!=""){
				temp.push_back(s);
			s="";
			}
			
		} 
}
if(s!="") temp.push_back(s);
int count=temp.size();
    for(int i=0;i<count;i++){
    	for(int k=0;k<7;k++){
			for(int j=0;j<temp[i].size();j++){
				cout << letter[temp[i][j]-'A'][k];
				if(j!=temp[i].size()-1) cout << " ";
				else cout <<endl;
			}
			
			}
		if(i!=count-1) cout << endl;
	}

}

这道题不要被冗长的输入吓到了,其实就是存储26个大写字母的输入然后按照要求输出即可。
这道题比较容易出错的就是空格和空行,不要少输入或者多输入,如果思路不清晰的话可以先做别的题,然后再回来看思路可能会解放。
我的问题主要出现在3,4测试点上一直过不去。后来我看了别人的解析才知道测试3,4是测试给的句子最后是字母的情况,如果按照我的判断方法的话,最后一个是字母没法加到vector容器中,所以需要在循环外面判断一下,如果字符串不为空的话,就把他加入到vector中!
还有一个需要注意的地方(虽然我没出错),那就是两个单词之间可能有多个非字母字符,是其他测试点的测试。文章来源地址https://www.toymoban.com/news/detail-706749.html

到了这里,关于PAT 1164 Good in C 测试点3,4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 浙大c语言pat试题汇总

      1-10 7-1 重要的话说三遍 (5 分)    7-1 重要的话说三遍 (5 分)_nklike的博客-CSDN博客 7-2 I Love GPLT (5 分)        7-2 I Love GPLT (5 分)_nklike的博客-CSDN博客 7-3 输出带框文字 (5 分)      7-3 输出带框文字 (5 分)_nklike的博客-CSDN博客 7-4 输出菱形图案 (5 分)      7-4 输出菱形图案 (5 分

    2023年04月09日
    浏览(35)
  • 菜鸟记录:c语言实现PAT甲级1010--Radix

    很长时间没做,忙于考研和实习,久违的的拾起了算法。做了很长时间,其实总体思路还是很简单的,但满分不知道为什么就是到不了,又因为网上很多答案包括柳神的都是c++,无法参透,姑且只能这样了。 Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 b

    2024年04月08日
    浏览(75)
  • 菜鸟记录:c语言实现PAT甲级1003--Emergency

    久违的PAT,由于考研408数据结构中有一定需要,同时也是对先前所遗留的竞赛遗憾进行一定弥补 ,再次继续PAT甲级1003.。 As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected by some roads. Amount of rescue teams in each city and the l

    2023年04月13日
    浏览(52)
  • 菜鸟记录:c语言实现PAT甲级1004--Counting Leaves

    好消息:与上题的Emergency是同样的方法。坏消息:又错了c++真的比c方便太多太多。 A family hierarchy is usually presented by a pedigree tree. Your job is to count those family members who have no child. Each input file contains one test case. Each case starts with a line containing  0 N 100, the number of nodes in a tree, and  M 

    2023年04月17日
    浏览(54)
  • 菜鸟记录:c语言实现PAT甲级1005--Spell It Right

     非常简单的一题了,但还是交了两三次,原因:对数组的理解不足;对数字和字符之间的转换不够敏感。这将在下文中细说。 Given a non-negative integer  N, your task is to compute the sum of all the digits of  N, and output every digit of the sum in English. Each input file contains one test case. Each case occu

    2024年02月01日
    浏览(41)
  • PTA( 猜数字游戏)——C语言)细解

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果

    2024年02月08日
    浏览(57)
  • PTA-c语言 输出大写英文字母

    本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍;若无大写英文字母则输出“Not Found”。 输入格式: 输入为一个以回车结束的字符串(少于80个字符)。 输出格式: 按照输入的顺序在一行中输出所出现过的大写英文字母,每个字母

    2024年02月04日
    浏览(41)
  • PTA 编程题(C语言)-- 输出闰年

    输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。 输入格式: 输入在一行中给出21世纪的某个截止年份。 输出格式: 逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则

    2024年02月05日
    浏览(48)
  • PTA 1015 德才论(C语言实现)

    整体思路: 这个题并非简单的排序,因为涉及到多种分类,所以整体排序的方法不可取,还有排序方法的选择,要选择时间复杂的为(nlogn)的排序方法(因为不会超时),这里我用的是qsort函数(头文件为stdlib.h),读者需要可以自行查询用法,先把几种情况分别用不同的数

    2023年04月09日
    浏览(35)
  • 【C语言】PTA——字符串比较

    编写一个函数实现两个字符串的比较,即自己写一个strcmp函数,函数原型为“int strcmp(char* p1,char* p2);”设p1指向字符串s1,p2指向字符串s2,要求当s1==s2时,函数返回值为0;若s1≠s2,则返回二者中第一个不相同字符的ASCII码差值(如\\\"BOY\\\"与\\\"BAD\\\"的第二个字母不同,\\\'O\\\'与\\\'A\\\'之差为

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包