第一题:签到题(10分)

【题目要求】:
键盘依次输入 4 个字符串,分别是临时学号、姓名、报考类别和本科学校,按右对齐方式输出,要求其中最长的字符串输出时左边无空格,4 行的冒号对齐,冒号为半角字符,前后各一个空格

【输入要求】:
1、四个字符串均不含空格,长度不超过 40
2、不考虑输入错误

【输出要求】:
1、共四行,不要有多余的空行
2、每行最后无多余的空格或其它字符

【输入示例1】:

2020999
张三
硕士
同济大学2020999 : 临时学号张三 : 姓名硕士 : 报考类别
同济大学 : 本科院校

【输入示例2】:

123456789012345
测试账号
直博
上大
123456789012345 : 临时学号测试账号 : 姓名(这里没对齐是因为csdn的编辑格式问题)直博 : 报考类别上大 : 本科院校


免责声明:由于本人没有系统学过acm,所以代码格式有点怪也请勿喷,结果对就算胜利捏。

【源代码】:

#include<stdio.h>
using 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("%s\n",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("%d\n",btemp);for(int i=0;i<4;i++){while(len[i][0]<btemp){len[i][0] += 1;printf(" ");}if(i<3)  printf("%s : %s\n",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++中):

#include <iostream>
using namespace std;
/* 本题限制要求:
1、用递归方式完成,不准用循环(while、do-while、for、if-goto 均不允许)
2、除 output 函数外,还允许定义其它函数
3、不允许改动 main 函数
*/
int main()
{int k;
cout << "请输入 2-9 间的数字" << endl;
cin >> k; //不考虑输入错误
output(k);
return 0;
}

【源代码】:

#include <iostream>
using namespace std;
void output(int k);
void output1(int k);
/* 本题限制要求:
1、用递归方式完成,不准用循环(while、do-while、for、if-goto 均不允许)
2、除 output 函数外,还允许定义其它函数
3、不允许改动 main 函数
*/
int main()
{int k;
cout << "请输入 2-9 间的数字" << endl;
cin >> k; //不考虑输入错误
output(k);
return 0;
}void output(int k){if(k==1){cout<<k<<' ';     //对于k=1时,直接输出}else{output(k-1);    cout<<endl;output1(k);      //对其余k值,再分别调用output1函数}
}void output1(int k){ cout<<k<<' ';if(k>=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)

#include<stdio.h>
using namespace std;
int main(){FILE* fp;fp = fopen("070707.cpp","r");         //文件名改为同一目录下的某个文件即可long long Words, words, num, space, others;Words = words = num = space = others = 0;while(true){char c = fgetc(fp);if(c==-1)          //文件结尾break;else if(c>='A'&&c<='Z') Words++;else if(c>='a'&&c<='z') words++;else if(c==' ') space++;else if(c>='0'&&c<='9') num++;else if(c=='\n') others+=2;          //换行符算两个字节else others++;}fclose(fp);printf("Words : %d\n",Words);printf("words : %d\n",words);printf("num : %d\n",num);printf("space : %d\n",space);printf("others : %d\n",others);printf("total : %d",Words+words+num+space+others);
}

2020同济大学电子与信息工程学院计算机系夏令营机试题目【含题解、注释】相关推荐

  1. 同济计算机学院夏令营,同济大学电子与信息工程学院计算机技术(专业学位)保研夏令营...

    同济大学电子与信息工程学院计算机技术(专业学位)保研夏令营信息,是考研之前需要获取相应的考研信息,比如考试大纲.招考专业.招考目录等等基本信息,这些内容是进行考研前期工作的必要准备.考生可以从各院校的 ...

  2. 人民大学计算机夏令营试题,中国人民大学信息学院2017年夏令营机试题目(考生回忆版)...

    中国人民大学信息学院2017年夏令营机试题目(考生回忆版) (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.90 积分 中国人民大学信息学院20 ...

  3. 2020清华大学计算机系夏令营机试

  4. 2020北航计算机夏令营机试题目讲解

    一.二叉树(60分)   给你一个整数序列,用这些数构成一个完全二叉排序树,输出此二叉树的层序遍历序列.   输入的第一行是一个整数n,表示这个整数序列的长度,输入的第二行包含n个整数,每个数代表完全 ...

  5. 2020北航计算机夏令营机试题目个人理解

    一.二叉树(60分) 给你一个整数序列,用这些数构成一个完全二叉排序树,输出此二叉树的层序遍历序列.输入的第一行是一个整数n,表示这个整数序列的长度,输入的第二行包含n个整数,每个数代表完全二叉排序树 ...

  6. 2017年上海交通大学软件学院暑期夏令营机试题目

    原链接:https://download.csdn.net/download/joyinsun_tzou/9894605  短文 text.txt I am a Chinese boy. My nam ...

  7. 2019年中山大学数据科学与计算机学院研究生统考机试

    2019年中山大学数据科学与计算机学院研究生统考机试题目回忆 本文回忆了2019年中山大学数据科学与计算机学院研究生考试机试题目,希望能对以后的同学的学习有所帮助. 机试共十道题. 1. 继承 一共有 ...

  8. 哈工大/哈工深电子与信息工程学院篇|2022年(23届)电子信息/通信工程夏令营保研/考研复试经验贴

    一.个人简介 学校及专业:四非通信工程 绩点排名:1/170 CET6:487 CET4:554 科研经历:二区SCI论文1篇,主持重点领域支持国家级大创1项 竞赛奖项:互联网+国铜.挑战杯国铜.节能 ...

  9. 西安交通大学计算机学院保研面试,西安交通大学电子与信息工程学院(专业学位)计算机技术保研细则...

    考研真题资料优惠价原价选择 西安交通大学电子与信息工程学院(专业学位)计算机技术保研细则信息,是考研之前需要获取相应的考研信息,比如考试大纲.招考专业.招考目录等等基本信息,这些内容是进行考研前期工作 ...

最新文章

  1. python第三方库之学习pyserial库--串口通信
  2. python 模板匹配
  3. leetcode算法题--等差数列划分
  4. 采用dlopen、dlsym、dlclose dlopen dlerror加载动态链接库【总结】
  5. 非常恶俗地分享一首歌曲(童年·葫芦娃)
  6. 反射与泛型 java_Java的反射 和 泛型的一个问题
  7. java object转泛型_为什么Java的泛型要用擦除实现
  8. HDR Tone Mapping
  9. 面向对象程序设计简介
  10. 在 MQL5 中使用 WININET。第二部分:POST 请求和文件
  11. hp linux 禁用u盘启动项,惠普台式机UEFI BIOS设置U盘启动
  12. 墨画子卿第一章第1节
  13. Windows 64位安装 memcached
  14. 小米5s Plus安装类原生系统
  15. 盘点招招毙命的29种USB攻击方式
  16. 深度学习之迁移学习介绍与使用
  17. 细说网络负载均衡技术
  18. 合同变换为什么是一个行变换再跟一个相应的列变换?
  19. Python初遇问题5.16
  20. Normalized and Geometry-Aware Self-Attention Network for Image Captioning阅读笔记

热门文章

  1. linux戏说第一炮
  2. English_study 动词 : ing 和 to do(不定式) 做宾语
  3. js产品详情:鼠标经过放大镜效果
  4. 浙江大学计算机学院设计书,浙江大学计算机系本科生毕业论(设计)LaTeX 模板...
  5. mysql的收银软件_java swing mysql实现的超市收银进销存系统项目源码附带视频指导运行教程...
  6. 怎么把pdf图片转换成cad呢?两种简单方法
  7. Excel:通过简称查找全称,VLOOKUP函数
  8. 【usaco】beads
  9. 当网约车被“出租车化”,滴滴或将沦为共享出行的试验品
  10. Sametime音讯及视讯在线会议使用频宽评估与建议