EDUCoder编程练习题解(循环一)

2024-04-08 17:48

本文主要是介绍EDUCoder编程练习题解(循环一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

编辑与调试    顺序结构    选择结构一    选择结构二    循环一     循环二    函数
递归与嵌套函数     一维数组和二维数组     字符数组      指针一    指针二     结构体      文件

循环一

第1关:小球自由落体运动
任务描述
一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。 它在第N次落地时反弹多高?共经过多少米? 结果保留两位小数。

输入
从键盘输入M和N的值。

输出
它在第N次落地时反弹多高?共经过多少米? 保留两位小数,空格隔开,放在一行。

测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
1000 5
样例输出:
31.25 2875.00

解题说明:
注意大坑:经过多少米是指最后到落地经过了多少米,最后一次没有反弹的!
解题程序:

/* 第1关:小球自由落体运动 */#include<stdio.h>
int main(void)
{/*********Begin*********/float m;int n, i;scanf("%f%d", &m, &n);float sum = m;for(i = 1; i <= n; i++) {if(i > 1)sum += m + m;m /= 2;}printf("%.2f %.2f\n", m, sum);/*********End**********/return 0;
}

第2关:求解出n以内所有能被5整除的正整数的乘积
任务描述
本关任务:求解出n以内(包含n)所有能被5整除的正整数数的乘积s。

输入
输入包含多个样例,每个样例一个正整数n,占一行。读取到文件结尾。输入的n不超过100。

输入格式

scanf(“%d”, &n)
输出
对于每个样例n,输出n以内(包含n)所有能被5整除的正整数的乘积。
输出格式

printf(“%d\n”, s);

测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入:
19
样例输出:
750

解题程序:

/* 第2关:求解出n以内所有能被5整除的正整数的乘积 */#include<stdio.h>
int main(void)
{  /*********Begin*********/int n;while(scanf("%d", &n) != EOF) {int p = 1, i; for(i = 5; i <= n; i += 5)p *= i; printf("%d\n", p);  }/*********End**********/ return 0;
}

第3关:最大公约数和最小公倍数
任务描述
本关任务:输入两个正整数m和n,求其最大公约数和最小公倍数。

输入
从键盘上任意输入两个数。

输出
分两行输出,第一行输出:最大公约数是多少;第二行输出最小公倍数是多少。

测试说明
平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。
样例输入
2 3
样例输出
最大公约数是:1
最小公倍数是:6

解题程序:

/* 第3关:最大公约数和最小公倍数 */#include<stdio.h>int gcd(int n, int m)
{return m == 0 ? n : gcd(m, n % m);
}int main(void)
{  /*********Begin*********/int n, m;scanf("%d%d", &n, &m);int g = gcd(n, m);printf("最大公约数是:%d\n", g);printf("最小公倍数是:%d\n", n / g * m);  /*********End**********/ return 0;
}

第4关:字符串中各类字符数的统计
任务描述
本关任务:输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

输入
一行字符。
输出
统计每种字符的个数值。

样例输入:
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出:
23 16 2 4

解题程序(2种):

/* 第4关:字符串中各类字符数的统计 */#include<stdio.h>
#include<ctype.h>#define N 1024
char s[N +1];int main(void)
{  /*********Begin*********/int letter = 0, digit = 0, space = 0, other = 0, i;fgets(s, N, stdin);for(i = 0; s[i] != '\n'; i++)if(isalpha(s[i])) letter++;else if(isdigit(s[i])) digit++;else if(isspace(s[i])) space++;else other++;printf("%d %d %d %d\n", letter, digit, space, other);  /*********End**********/ return 0;
}
/* 第4关:字符串中各类字符数的统计 */#include<stdio.h>
#include<ctype.h>#define N 1024
char s[N +1];int main(void)
{  /*********Begin*********/int letter = 0, digit = 0, space = 0, other = 0, i;fgets(s, N, stdin);for(i = 0; s[i] != '\n'; i++)if('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') letter++;else if('0'<=s[i]&&s[i]<='9') digit++;else if(s[i] == ' ') space++;else other++;printf("%d %d %d %d\n", letter, digit, space, other);  /*********End**********/ return 0;
}

第5关:求sn=a+aa+aaa+aaaa+…的值
任务描述
本关任务:键盘输入正整数a和n,编程 s=a+aa+aaa+aaaa+aa…a(n个a)的值。
例如:
a=2 ,n=5时,表示计算由2组成的数的和:2+22+222+2222+22222 ( 此时 共有5个数相加)。

输入:5 3 表示3个由5组成的数相加,即计算5+55+555的值,输出:615

输入:5 4 表示计算5+55+555+5555的值,输出:6170

测试说明
以下是测试样例:

输入:5 3
输出:615
输入:6 4
输出:7404
输入:3 5
输出:37035

解题代码:

/* 第5关:求sn=a+aa+aaa+aaaa+......的值 */#include<stdio.h>int main(void)
{  /*********Begin*********/int a, n, t = 0, sum = 0, i;scanf("%d%d", &a, &n);for(i = 1; i <= n; i++) {t *= 10, t += a;sum += t;}printf("%d\n", sum);  /*********End**********/ return 0;
}

编辑与调试    顺序结构    选择结构一    选择结构二    循环一     循环二    函数
递归与嵌套函数     一维数组和二维数组     字符数组      指针一    指针二     结构体      文件

这篇关于EDUCoder编程练习题解(循环一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Java中的for循环高级用法

《Java中的for循环高级用法》本文系统解析Java中传统、增强型for循环、StreamAPI及并行流的实现原理与性能差异,并通过大量代码示例展示实际开发中的最佳实践,感兴趣的朋友一起看看吧... 目录前言一、基础篇:传统for循环1.1 标准语法结构1.2 典型应用场景二、进阶篇:增强型for循环2.

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f