# 练习1

#include <string>
#include <iostream>
#include <cctype>
using namespace std;

bool judge(string s) {
if(!isalpha(s[0])) {
return false;
}
string::iterator it = s.begin();
for(; it != s.end(); ++it) if(!isdigit(*it) && !isalpha(*it) && *it != '_') return false;
return true;
}

int main() {
string s;
cin >> s;
cout << (judge(s) ? "yes" : "no");
return 0;
}

# 练习2

#include <string>
#include <iostream>
#include <cctype>
using namespace std;
int number[30] = {0};

void count(string s) {
string::iterator it = s.begin();
for(; it != s.end(); it++) {
if(isupper(*it)) number[*it - 'A']++;
}
}

int main() {
string s;
while(getline(cin, s)) {
count(s);
}

int max = 0, i;
for(i = 0; i < 26; i++) if(number[i] > max) max = number[i];

int j;
for(i = max; i > 0; i--) {
for(j = 0; j < 26; j++) printf("%c ", (number[j] >= i) ? '*' : ' ');
printf("\n");
}

printf("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z");

return 0;
}

### 输入样例

THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
[EOF]

# 练习3

#include <string>
#include <iostream>
#include <cctype>
using namespace std;

void print(int p1, int p2, int p3, char front, char back) {
if(back >= front) {
printf("-");
return;
}

if(p3 == 1) {
for(int i = front; i < back; i++) {
for(int j = p2; j > 0; j--) printf("%c", )
}
}
}

int main() {
int p1, p2, p3;
cin >> p1 >> p2 >> p3;

string s;
cin >> s;
string::iterator it = s.begin();
for(; it != s.end(); it++) {
if(*it == '-') print(p1, p2, p3, *(it - 1), *(it + 1)); else printf("%c", *it);
}

return 0;
}

• 本文已收录于以下专栏：

举报原因： 您举报文章：CCF基础P54练习题解 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)