第一题:签到题(10分)
【题目要求】:
键盘依次输入 4 个字符串,分别是临时学号、姓名、报考类别和本科学校,按右对齐方式输出,要求其中最长的字符串输出时左边无空格,4 行的冒号对齐,冒号为半角字符,前后各一个空格
【输入要求】:
1、四个字符串均不含空格,长度不超过 40
2、不考虑输入错误
【输出要求】:
1、共四行,不要有多余的空行
2、每行最后无多余的空格或其它字符
【输入示例1】:
2020999
张三
硕士
同济大学
2020999 : 临时学号
张三 : 姓名
硕士 : 报考类别
同济大学 : 本科院校
【输入示例2】:
123456789012345
测试账号
直博
上大
123456789012345 : 临时学号
测试账号 : 姓名(这里没对齐是因为csdn的编辑格式问题)
直博 : 报考类别
上大 : 本科院校
免责声明:由于本人没有系统学过acm,所以代码格式有点怪也请勿喷,结果对就算胜利捏。
【源代码】:
#includeusing namespace std; const int maxn = 100; int main(){ char str1[4][maxn]; char str2[4][maxn]={"临时学号","姓名","报考类别","本科院校"}; for(int i=0;i<4;i++){ scanf("%s",str1[i]); } // for(int i=0;i<4;i++){ // printf("%sn",str1[i]); // } int btemp = 0; int len[4][1]; for(int i=0;i<4;i++){ int temp = 0; for(int j=0;str1[i][j];j++){ temp += 1; } len[i][0] = temp; if(temp>btemp) btemp = temp; //获得最长的行的长度 } // printf("%dn",btemp); for(int i=0;i<4;i++){ while(len[i][0] len[i][0] += 1; printf(" "); } if(i<3) printf("%s : %sn",str1[i],str2[i]); else printf("%s : %s",str1[i],str2[i]); } return 0; }
第 2 题:递归(20 分)
【题目要求】:
1、键盘输入 2-9 间的数字,输出对应的数字三角形
2、采用递归方式完成,整个程序中不允许出现循环(for、while、do-while、if-goto 均不允许)
3、给出预置的 cpp 文件,其中 main 函数不允许改动
【输入要求】:
1、输入一个 2-9 间的整数
2、不考虑输入错误
【输出要求】:
1、若输入的数字是 n,则共输出 n 行
2、每个数字之间加一个空格,每行的最后一个 1 后面,既可以有空格,也可以无空格
【输入示例1】:
请输入 2-9 间的数字 7 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 1 7 6 5 4 3 2 1
【输入示例2】:
请输入 2-9 间的数字 9 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1 6 5 4 3 2 1 7 6 5 4 3 2 1 8 7 6 5 4 3 2 1 9 8 7 6 5 4 3 2 1
预置的 b2.cpp(可将下面文本框中代码复制到 DevC++中):
#includeusing namespace std; int main() { int k; cout << "请输入 2-9 间的数字" << endl; cin >> k; //不考虑输入错误 output(k); return 0; }
【源代码】:
#includeusing namespace std; void output(int k); void output1(int k); int main() { int k; cout << "请输入 2-9 间的数字" << endl; cin >> k; //不考虑输入错误 output(k); return 0; } void output(int k){ if(k==1){ cout< output(k-1); cout< cout< =2) output1(k-1); }
//后面两道题先空着
第 3 题:文件处理(30 分)
【题目要求】:
用 main 函数带参数方式传入一个文件名,打开该文件,统计文件中出现的大写字母、小写字母、数字、空格及其它字符的个数,并输出五种类型字符的总数。
注:other 的计数方法,不允许取文件大小后减去其余四种,必须是判断该字符的值不属于前4 种后再归入 other 计数。
【输入要求】:
1、文件名以 main 函数带参数方式给出(不考虑文件名输入错误)
2、假设文件中字符均为基本 ASCII 码 (不含扩展 ACII 码/中文,不考虑字符集不同带来的统计差异)
3、文件大小不大于 1GB
4、DevC++的集成环境下调试时,菜单“运行”-“参数”中可设置 main 函数的参数
【输出要求】:
1、共六行,不要有多余的空行
2、每行最后无多余的空格或其它不可见字符
3、前五行的值之和应等于第六行,第六行的值应与该文件的文件属性中显示的字节大小一致
示例输入与输出:(假设 main 函数带的参数是 helloworld.cpp)



