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

相关文章

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

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

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

JAVA中while循环的使用与注意事项

《JAVA中while循环的使用与注意事项》:本文主要介绍while循环在编程中的应用,包括其基本结构、语句示例、适用场景以及注意事项,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录while循环1. 什么是while循环2. while循环的语句3.while循环的适用场景以及优势4. 注意

C#反射编程之GetConstructor()方法解读

《C#反射编程之GetConstructor()方法解读》C#中Type类的GetConstructor()方法用于获取指定类型的构造函数,该方法有多个重载版本,可以根据不同的参数获取不同特性的构造函... 目录C# GetConstructor()方法有4个重载以GetConstructor(Type[]

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

dp算法练习题【8】

不同二叉搜索树 96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3输出:5 示例 2: 输入:n = 1输出:1 class Solution {public int numTrees(int n) {int[] dp = new int