PAT练习之字符串处理
今天的练习是关于控制台键入字符串,以及对字符串的比较等的处理,题目如下:
输入4个长度不超过60个字符的字符串,在前两个字符串中第一组相同的大写字母对应星期,第二组相同的字符对应小时(0~9,A~N),后两组字符串中相同的字符串的位置确定为分钟。
注意事项:
1)对前两组字符串的处理首先要注意第一组一定是<strong>大写字母</strong>,并且在得出第一组相同值后才能得出第二组;
2)第二组获取相同值与第一组的不同,可以是数字,也可以是字母;
在编程中我犯的错误:
1)判定思路错误:读题不认真,在初次处理时没有注意到第一组相同字符和第二组相同字符处理是不同的;
2)思路问题:if顺序条件写反了,导致判定顺序执行时出错,就是下面的第41行和第42行中条件判断的位置;
3)再次再次强调对字符串的处理:string可以当成数组处理,char*是万万不能当成数组处理的。
下面是程序代码:
#include <iostream>
#include <stdio.h>
#include <string>
using namespace std;
int findWeek(int num){string week[]={"MON","TUE","WED","THU","FRI","SAT","SUN"};num=num-65;cout<<week[num]<<" ";return 1;
}
int findHour(int num){if(num>47&&num<58){cout<<"0"<<num-48<<":";}else if(num>64){num=num-65+10;cout<<num<<":";}return 1;
}
int findMin(int num){if(num>=0&&num<10){cout<<"0"<<num;}elsecout<<num;return 1;
}int main(){string str1,str2,str3,str4;cin>>str1;cin>>str2;cin>>str3;cin>>str4;int i=0;int j=0;int a,b;bool flag=false;while(str1[i]){if(str1[i]==str2[i]){if(flag==false&&str1[i]>='A'&&str1[i]<='Z'&&str2[i]>='A'&&str2[i]<='Z'){a=(char)str1[i];flag=true;i++;}else {if(flag==true){b=(char)str1[i];break;}elsei++;}}else i=i+1;}i=0;while(str3[i]){if(str3[i]!=str4[i])i++;else {if(str3[i]==str4[i]&&str3[i]>='a'&&str3[i]<='z'){break;}else i++;}}findWeek(a);findHour(b);findMin(i);return 1;
}
PAT练习之字符串处理相关推荐
- 【PAT甲级】字符串处理及进制转换专题
目录 字符串处理 PAT甲级 1001 A+B Format (20 分) PAT甲级1005 Spell It Right (20 分) PAT甲级1035 Password (20 分) PAT甲 ...
- PAT乙级 (字符串处理) 1006、1021、1031、1002、1009、1014、1024、1048
1006 换个格式输出整数 让我们用字母 B 来表示"百".字母 S 表示"十",用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任 ...
- PAT 一章 字符串 16-20 自用
1字符串十6 1570. 坏掉的键盘 PAT甲级真题1084 1568. 中文读数字 给定一个不超过 9位的整数,你应该用传统的中文方式阅读它. 如果是负数,则先输出 Fu. 例如, - 123456 ...
- PAT 一章 字符串 11-15 自用
1字符串十1 1503. 乒乓球 PAT甲级真题1026 最难的一题 1字符串十2 1546. 它们是否相等 PAT甲级真题1060 1546. 它们是否相等 如果机器只能保存 3个有效数字,则将浮 ...
- PAT 10-2 删除字符串中的子串
今天发一个不完全对(通过garbageMan园友的帮忙,现已全对)的代码,(/*后两用例未通过,一时看不出问题在哪,*/)切入正题 /*Name: Copyright: Author: Date: 0 ...
- 【PAT甲级 删除字符串中的指定字符】1050 String Subtraction (20 分) C++
题目 删除字符串中的另一个字符串包含的所有字符. 可以通过判断两个字符串是否为空,来稍微优化一下运行速度 题解C++ #include<iostream> #include<stri ...
- PAT乙级 1093 字符串A+B(两种解法)
给定两个字符串 A 和 B,本题要求你输出 A+B,即两个字符串的并集.要求先输出 A,再输出 B,但重复的字符必须被剔除. 输入格式: 输入在两行中分别给出 A 和 B,均为长度不超过 106的.由 ...
- PAT甲级1005 字符串的处理
题目 Given a non-negative integer N, your task is to compute the sum of all the digits of N, and outpu ...
- PAT甲级1001 字符串处理
题目 1001 A+B Format (20 分) Calculate a+b and output the sum in standard format – that is, the digits ...
最新文章
- shell之字符串操作
- html5 Canvas画图4:填充和渐变
- Go的sync.Cond(四)
- 上传文件到云服务器存储路径,上传文件到云服务器存储路径
- 【机器视觉】 HDevelop语言基础(五)-多线程
- nlp自然语言处理_自然语言处理(NLP):不要重新发明轮子
- signature=18441de5a4bb8df92eb5cf5dcca47d1e,Heroísmo y los medios de comunicación (Capítulo 5A 5B)...
- css 绘制三角形_解释CSS形状:如何使用纯CSS绘制圆,三角形等
- mongoDB 3.0 安全权限访问控制
- JAVA加勒比_【JAVA】synchronized关键字
- pom文件配置多个远程仓库地址_分布式配置中心Config
- Windows安装Nacos单机集群
- mysql id div 1000000,mysql – 如何使用随机数据生成1000000行?
- POJ1068 Parencodings(模拟)
- vue-cli 脚手架开发环境搭建
- 小甲鱼python笔记_小甲鱼Python笔记(类)
- M6A rna甲基化最新研究成果进展、论文合集(2021年)
- 开源视频云转码 m3u8_8种开源视频游戏
- 硬盘分区表故障和丢失的原因
- 【WZOI】默写数字