# 练习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题解

2016-04-03 15:49:35

#### CCF CSP 认证真题部分题解

2017-09-12 21:36:05

#### CCF CSP试题练习集

2017-10-10 09:39:28

#### CCF认证java模拟试题（附加答案）

2017-10-22 13:47:54

#### CCF认证历年试题解【网上跟帖，请不要使用称呼】

2017-01-28 00:49:14

#### CCF中学生计算机程序设计入门篇练习2.4.2(NOI 1002 三角形） pascal

2017-07-16 20:29:19

#### CCF-CSP考试历年题解

2018-02-13 10:48:39

#### CCF CSP解题报告索引

2018-01-20 10:24:11

#### CCF认证考试题解目录

2018-05-06 00:53:53

#### CCF认证训练行动路线图

2017-02-21 23:00:08