EOJ 2986~2990 2013年编程实践课程师范班第2次上机考试

2023-10-05 14:59

本文主要是介绍EOJ 2986~2990 2013年编程实践课程师范班第2次上机考试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简单模拟题,主要是给编程实践没过的同学写的,希望能KO了它!

 

http://acm.cs.ecnu.edu.cn/problem.php?problemid=2986

2986 计算2的N次方

#include <stdio.h>
#define  LL long long LL a[64];
void init()
{a[0] = 1;for(int i=1; i<=63; i++){a[i] = a[i-1]*2;}}
int main()
{int cas;init();scanf("%d", &cas);for(int i=0; i<cas; i++){int n;scanf("%d", &n);printf("case #%d:\n%lld\n", i, a[n]);}return 0;
}

 

 

 

http://acm.cs.ecnu.edu.cn/problem.php?problemid=2987

 

2987 判断ip 

注意本题输入格式的小技巧,其他如:scanf("%s%c", str, chr)可以连续读字符串,到chr=‘\n’时停止读入。

另外如果刚兴趣,可以了解一下sprintf()。

#include <stdio.h>int main()
{int a,b,c,d;int cas;scanf("%d" ,&cas);for(int i=0; i<cas; i++){scanf("%d.%d.%d.%d" ,&a, &b, &c, &d);printf("case #%d:\n", i);if(a < 0 || a > 255){printf("No %d %d\n", 0, a);continue;}if(b < 0 || b > 255){printf("No %d %d\n", 1, b);continue;}if(c < 0 || c > 255){printf("No %d %d\n", 2, c);continue;}if(d < 0 || d > 255){printf("No %d %d\n", 3, d);continue;}printf("Yes\n");}return 0;
}

 

 

http://acm.cs.ecnu.edu.cn/problem.php?problemid=2988

2988 密码产生器

#include <stdio.h>
char a[105];
int b[7];
int main(){int cas;scanf("%d", &cas);for(int i=0; i<cas; i++){scanf("%s" ,a);for(int j=0; j<6; j++)b[j] = 0;for(int j=0; a[j]!='\0'; j++){		b[j%6] += a[j];}printf("case #%d:\n", i);for(int j=0; j<6; j++){printf("%d", b[j]%10);}printf("\n");	}return 0;
}


 

 

 

http://acm.cs.ecnu.edu.cn/problem.php?problemid=2989

2989 字符串重排

按"NBA"输出,个数 不够时不输出。

#include <stdio.h>
char s[10005];
int a,b,c;
int main()
{int cas;scanf("%d" ,&cas);for(int i=0 ;i<cas; i++){scanf("%s", s);a = b = c;for(int j=0; s[j]!='\0'; j++){if(s[j] == 'N')a++;if(s[j] == 'B')b++;if(s[j] == 'A')c++;		 }printf("case #%d:\n", i);int d = 0;while(a || b || c){if(d % 3 == 0){if(a > 0){printf("N");a --;}}else if(d % 3 == 1){if(b > 0){printf("B");b --;}}else if(d % 3 == 2){if(c > 0){printf("A");c --;}}d ++;}printf("\n");}return 0;
}


 

http://acm.cs.ecnu.edu.cn/problem.php?problemid=2990

2990 文献排序

qsort:http://blog.163.com/justly@yeah/blog/static/121037000200952982531680/

sort :http://www.cplusplus.com/reference/algorithm/sort/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <algorithm>
using namespace std; 
char s[205][205];
int cmp(const void * a, const void *  b)
{//(char*)(a)char s1[205], s2[205];int i;strcpy(s1, (char*)(a));strcpy(s2, (char*)(b));for(i=0;s1[i]!='\0'; i++){if(s1[i] >= 'A' && s1[i] <= 'Z')s1[i] = s1[i] - 'A' + 'a';}for(i=0;s2[i]!='\0'; i++){if(s2[i] >= 'A' && s2[i] <= 'Z')s2[i] = s2[i] - 'A' + 'a';}return strcmp(s1,s2);
}
int main()
{int cas;//freopen("in", "r", stdin);scanf("%d" ,&cas);//getchar();for(int i=0; i<cas; i++){int n;scanf("%d\n", &n);for(int j=0; j<n; j++){gets(s[j]);for(int k=0; s[j][k]!='\0'; k++){//if(s[j][k] >= 'A' && s[j][k] <= 'Z')//{//s[j][k] = s[j][k]-'A'+'a';//}}//puts(s[j]);}printf("case #%d:\n", i);qsort(s, n, sizeof(char[205]), cmp);for(int j=0; j<n ;j++)puts(s[j]);}	return 0;
}


 

这篇关于EOJ 2986~2990 2013年编程实践课程师范班第2次上机考试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/151450

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI