PAT甲级1164 Good in C
这是我甲级写的第一题,感觉是比较麻烦的一道模拟题。输出格式卡了老久了(太弱了属于是,写这么长时间已经算失败了
思路不难想,先把题目给的26个字母存下来,然后处理字符串再输出就可以了,细节扣的比较多
下附20分代码:
#include
using namespace std;
char arr[100][7][5];
void printc(string s){
for(int i=0;i<7;i++){
for(int x=0;x> arr[i][j][k];
cin.ignore();
string todo;
getline(cin,todo);
int i,j;
bool isF = true; //看是不是第一个
for(i=0;i 90 ){ i++;continue;}
for( j=i;j 90 ){ //不是字母了
if(!isF){ //这里我们可以先输出换行再打印(除了第一个
cout << endl;
}
isF = false;
printc(todo.substr(i,j-i));
break;
}else if(j == todo.size()-1 && int(todo[j]) >= 65 && int(todo[j]) <= 90 ){
if(!isF){
cout << endl;
}
isF = false;
printc(todo.substr(i,j-i+1));
break;
}
}
i = j+1;
}
return 0;
}