PAT练习之字符串处理
生活随笔
收集整理的這篇文章主要介紹了
PAT练习之字符串处理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
今天的練習是關于控制臺鍵入字符串,以及對字符串的比較等的處理,題目如下:
輸入4個長度不超過60個字符的字符串,在前兩個字符串中第一組相同的大寫字母對應星期,第二組相同的字符對應小時(0~9,A~N),后兩組字符串中相同的字符串的位置確定為分鐘。
? ? ? ? 注意事項:
? ? ? ? ? ? ?1)對前兩組字符串的處理首先要注意第一組一定是<strong>大寫字母</strong>,并且在得出第一組相同值后才能得出第二組;
? ? ? ? ? ? ?2)第二組獲取相同值與第一組的不同,可以是數(shù)字,也可以是字母;
? ? ? ? 在編程中我犯的錯誤:
? ? ? ? ? ? ?1)判定思路錯誤:讀題不認真,在初次處理時沒有注意到第一組相同字符和第二組相同字符處理是不同的;
? ? ? ? ? ? ?2)思路問題:if順序條件寫反了,導致判定順序執(zhí)行時出錯,就是下面的第41行和第42行中條件判斷的位置;
? ? ? ? ? ? ?3)再次再次強調對字符串的處理:string可以當成數(shù)組處理,char*是萬萬不能當成數(shù)組處理的。
輸入4個長度不超過60個字符的字符串,在前兩個字符串中第一組相同的大寫字母對應星期,第二組相同的字符對應小時(0~9,A~N),后兩組字符串中相同的字符串的位置確定為分鐘。
? ? ? ? 注意事項:
? ? ? ? ? ? ?1)對前兩組字符串的處理首先要注意第一組一定是<strong>大寫字母</strong>,并且在得出第一組相同值后才能得出第二組;
? ? ? ? ? ? ?2)第二組獲取相同值與第一組的不同,可以是數(shù)字,也可以是字母;
? ? ? ? 在編程中我犯的錯誤:
? ? ? ? ? ? ?1)判定思路錯誤:讀題不認真,在初次處理時沒有注意到第一組相同字符和第二組相同字符處理是不同的;
? ? ? ? ? ? ?2)思路問題:if順序條件寫反了,導致判定順序執(zhí)行時出錯,就是下面的第41行和第42行中條件判斷的位置;
? ? ? ? ? ? ?3)再次再次強調對字符串的處理:string可以當成數(shù)組處理,char*是萬萬不能當成數(shù)組處理的。
下面是程序代碼:
#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练习之字符串处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 迭代器求立方根
- 下一篇: OpenCV学习之路之OpenCV安装(