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

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

在Java中使用OpenCV实践

《在Java中使用OpenCV实践》用户分享了在Java项目中集成OpenCV4.10.0的实践经验,涵盖库简介、Windows安装、依赖配置及灰度图测试,强调其在图像处理领域的多功能性,并计划后续探... 目录前言一 、OpenCV1.简介2.下载与安装3.目录说明二、在Java项目中使用三 、测试1.测

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

SpringBoot整合(ES)ElasticSearch7.8实践

《SpringBoot整合(ES)ElasticSearch7.8实践》本文详细介绍了SpringBoot整合ElasticSearch7.8的教程,涵盖依赖添加、客户端初始化、索引创建与获取、批量插... 目录SpringBoot整合ElasticSearch7.8添加依赖初始化创建SpringBoot项