IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 2020同济大学电子与信息工程学院计算机系夏令营机试题目【含题解、注释】 -> 正文阅读

[数据结构与算法]2020同济大学电子与信息工程学院计算机系夏令营机试题目【含题解、注释】

第一题:签到题(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)
在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:13:18  更:2022-07-04 23:17:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:30:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码