【PTA-C语言】编程练习3 - 循环结构Ⅰ

  • 如果代码存在问题,麻烦大家指正 ~ ~
  • 有帮助麻烦点个赞 ~ ~

    编程练习3 - 循环结构(1~8)

    • 7-1 统计整数的位数(分数 15)
    • 7-2 输出闰年(分数 15)
    • 7-3 求分数序列前N项和(分数 15)
    • 7-4 求给定精度的简单交错序列部分和(分数 15)
    • 7-5 最佳情侣身高差(分数 10)
    • 7-6 简写转全称(分数 15)
    • 7-7 约分最简分式(分数 15)
    • 7-8 猴子吃桃问题(分数 15)

7-1 统计整数的位数(分数 15)

从键盘读入一个整数,统计该数的位数。例如,输入12534,输出5;输入-99,输出2;输入0,输出1。

输入格式:
输入一个整数N(−105 ≤N≤105)。

输出格式:
在一行中按如下格式输出该数的位数。

It contains 位数 digits.

输入样例:

12534

输出样例:

It contains 5 digits.

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include <stdio.h>
int main()
{int n, d=0;scanf("%d", &n);if (n==0) d=1;if (n<0) n=-n;while (n!=0) {n/=10;d++;}printf("It contains %d digits.", d);return 0;
}

7-2 输出闰年(分数 15)

输出21世纪中截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。

输入格式:
输入在一行中给出21世纪的某个截止年份。

输出格式:
逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。

输入样例1:

2048

输出样例1:

2004
2008
2012
2016
2020
2024
2028
2032
2036
2040
2044
2048

输入样例2:

2000

输出样例2:

Invalid year!

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include <stdio.h>
#include <math.h>
int main() {int n, i, t = 0;scanf("%d", &n);if (n <= 2000 || n > 2100) {printf("Invalid year!\n");return 0;}for (i = 2001; i <= n; i++) {if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {printf("%d\n", i);t = 1;}}if (t == 0) printf("None");return 0;
}

7-3 求分数序列前N项和(分数 15)

本题要求编写程序,计算序列 2/1+3/2+5/3+8/5+… 的前N项之和。注意该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子。

输入格式:
输入在一行中给出一个正整数N。

输出格式:
在一行中输出部分和的值,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

20

输出样例:

32.66

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include <stdio.h>
int main()
{int n, i;double sum=0, a=1.0, b=2.0, c;scanf("%d", &n);for(i=1; i<=n; i++) {sum += b/a;c=b;b=a+b;a=c;}printf("%.2f", sum);return 0;
}

7-4 求给定精度的简单交错序列部分和(分数 15)

本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + … 直到最后一项的绝对值不大于给定精度eps。

输入格式:
输入在一行中给出一个正实数eps。

输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

输入样例1:

4E-2

输出样例1:

sum = 0.854457

输入样例2:

0.02

输出样例2:

sum = 0.826310

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include <stdio.h>
int main()
{int i, flag=1;double sum=0, n=1.0, eps;scanf("%lf", &eps);if (eps>=1)printf("sum = %.6f", n);else {for(i=1; n>eps; i++) {n = 1.0/(3*i-2);sum += n*flag;flag =- flag;}printf("sum = %.6f", sum);}return 0;
}

7-5 最佳情侣身高差(分数 10)

专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高)。如果符合,你俩的身高差不管是牵手、拥抱、接吻,都是最和谐的差度。

下面就请你写个程序,为任意一位用户计算他/她的情侣的最佳身高。

输入格式:
输入第一行给出正整数N(≤10),为前来查询的用户数。随后N行,每行按照“性别 身高”的格式给出前来查询的用户的性别和身高,其中“性别”为“F”表示女性、“M”表示男性;“身高”为区间 [1.0, 3.0] 之间的实数。

输出格式:
对每一个查询,在一行中为该用户计算出其情侣的最佳身高,保留小数点后2位。

输入样例:

2
M 1.75
F 1.8

输出样例:

1.61
1.96

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include<stdio.h>
int main()
{int n, i;char ch, x;double h;scanf("%d", &n);scanf("%c", &x);for(i=1; i<=n; i++) {scanf("%c %lf%c", &ch, &h, &x);if (ch=='M') h /= 1.09;else h *= 1.09;printf("%.2lf\n", h);}return 0;
}

7-6 简写转全称(分数 15)

在一行中输入若干个字符作为简写字符,字符之间没有空格间隔,并按如下规则产生输出:

  • 每个简写字母对应一行输出
  • 若字符为Cc,则该行输出"BEIJING OLYMPIC GAMES"
  • 若字符为Jj,则该行输出"JAPAN WORLD CUP"
  • 若字符为Kk,则该行输出"KOREA WORLD CUP"
  • 若为其他字符,则该行原样输出该字符。

输入格式:
输入在一行中输入若干个字符,字符之间没有空格间隔,以回车结束。

输出格式:
按题目要求产生若干行输出。

输入样例:

kijckj

输出样例:

KOREA WORLD CUP
i
JAPAN WORLD CUP
BEIJING OLYMPIC GAMES
KOREA WORLD CUP
JAPAN WORLD CUP

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include <stdio.h>
int main()
{int ch;while((ch=getchar()) != '\n')if (ch=='c' || ch=='C')printf("BEIJING OLYMPIC GAMES\n");else if (ch=='J' || ch=='j')printf("JAPAN WORLD CUP\n");else if (ch=='K' || ch=='k')printf("KOREA WORLD CUP\n");elseprintf("%c\n", ch);return 0;
}

7-7 约分最简分式(分数 15)

分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。

输入格式:
输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。

提示:

  • 对于C语言,在scanf的格式字符串中加入/,让scanf来处理这个斜杠。
  • 对于Python语言,用a,b=map(int, input().split('/'))这样的代码来处理这个斜杠。

输出格式:
在一行中输出这个分数对应的最简分式,格式与输入的相同,即采用分子/分母的形式表示分数。如
5/6表示6分之5。

输入样例:

66/120

输出样例:

11/20

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include<stdio.h>
int main()
{int i, a=0, b=0;scanf("%d/%d", &a, &b);for(i=b; i>1; i--)if(a%i==0 && b%i==0){a /= i;b /= i;}printf("%d/%d", a, b);return 0;
}

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

7-8 猴子吃桃问题(分数 15)

一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第N天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?

输入格式:
输入在一行中给出正整数N(1<N≤10)。

输出格式:
在一行中输出第一天共摘了多少个桃子。

输入样例:

3

输出样例:

10

代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB

参考代码

#include<stdio.h>
int main()
{int i, d, n=1;scanf("%d", &d);for(i=2; i<=d; i++)n = (n+1)*2;printf("%d",n);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

34、AD/DA

AD/DA介绍 AD&#xff08;Analog to Digital&#xff09;&#xff1a;模拟-数字转换&#xff0c;将模拟信号转换为计算机可操作的数字信号 DA&#xff08;Digital to Analog&#xff09;&#xff1a;数字-模拟转换&#xff0c;将计算机输出的数字信号转换为模拟信号 AD/DA转换…

YoloV8改进策略:Swift Parameter-free Attention,无参注意力机制,超分模型的完美迁移

摘要 https://arxiv.org/pdf/2311.12770.pdf https://github.com/hongyuanyu/SPAN SPAN是一种超分网络模型。SPAN模型通过使用参数自由的注意力机制来提高SISR的性能。这种注意力机制能够增强重要信息并减少冗余,从而在图像超分辨率过程中提高图像质量。 具体来说,SPAN模…

Docker命令大全简介及示例

Docker常用高频命令 常用命令 说明 示例 docker run 创建并运行容器 docker run -d -p 80:8080 nginx docker start 启动已停止的容器 docker start container_name docker stop 停止正在运行的容器 docker stop container_name docker restart 重启容器 docker …

允许root远程连接数据库

开放root远程连接数据库的权限&#xff08;Linux系统&#xff09; 环境&#xff1a;centos7&#xff0c;关闭防火墙&#xff08;没关要开放数据库的端口&#xff09; 一、进入数据库&#xff0c;查看权限表信息 MariaDB [(none)]> use mysql Reading table information fo…

【图像拼接】论文精读:Seam-guided local alignment and stitching for large parallax images

第一次来请先看这篇文章:【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新) 图像拼接系列相关论文精读 Seam Carving for Content-Aware Image ResizingAs-Rigid-As-Possible Shape ManipulationAdap…

「Verilog学习笔记」占空比50%的奇数分频

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 根据题意7分频&#xff0c;实际上是第一次电平变化经历了4个上升沿3个下降沿&#xff0c;第二次电平变化是4个下降沿3个上升沿&#xff0c;所以用两个计数器就行了。分别对…

笔迹检验(四):笔迹检验的程序和方法

文章目录 一、分析检材笔迹并审核样本笔迹&#xff08;一&#xff09; 分析检材笔迹&#xff08;二&#xff09; 审核样本笔迹 二、选择笔迹特征&#xff08;一&#xff09; 选择笔迹特征的一般要求&#xff08;二&#xff09; 选择笔迹特征的一般方法 三、比较笔迹异同&#x…

web自动化 -- selenium及应用

selenium简介 随着互联网的发展&#xff0c;前端技术不断变化&#xff0c;数据加载方式也不再是通过服务端渲染。现在许多网站使用接口或JSON数据通过JavaScript进行渲染。因此&#xff0c;使用requests来爬取内容已经不再适用&#xff0c;因为它只能获取服务器端网页的源码&am…

专业爬虫框架 -- scrapy初识及基本应用

scrapy基本介绍 Scrapy一个开源和协作的框架&#xff0c;其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的&#xff0c;使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。 但目前Scrapy的用途十分广泛&#xff0c;可用于如数据挖掘、监测和自动化测试等领域…

解决websocket集群的session共享问题

在websocket中&#xff0c;服务端主要使用的是session打交道&#xff0c;但是由于session无法实现序列化&#xff0c;不能存储到redis这些中间存储里面&#xff0c;因此这里我们只能把session存储在本地的内存中&#xff0c;那么如果是集群的话&#xff0c;我们如何实现session…

前端笔记(三)CSS 盒子模型

结构伪类选择器 基本的结构伪类选择器 可以根据元素的结构关系来查找元素 比如列标签 li&#xff0c;使用 li:first-child { background-color: green; }就可以选中第一个该标签。 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…

智慧能源:数字孪生压缩空气储能管控平台

压缩空气储能在解决可再生能源不稳定性和提供可靠能源供应方面具有重要的优势。压缩空气储能&#xff0c;是指在电网负荷低谷期将电能用于压缩空气&#xff0c;在电网负荷高峰期释放压缩空气推动汽轮机发电的储能方式。通过提高能量转换效率、增加储能密度、快速启动和调节能力…

如何知道B站各分区直播数据趋势?

随着短视频时代的来临&#xff0c;直播行业也越来越火爆&#xff0c;很多博主开启直播之路&#xff0c;B站也顺应了时代发展所需&#xff0c;在直播板块投入颇多&#xff0c;那么在B站开直播&#xff0c;我们应该如何知晓B站每个分区的直播数据情况呢&#xff1f; 借用第三方数…

MySQL练习题,学生成绩查询练习题,附带答案

题目 (一) 新建以下几个表 student(学生表)&#xff1a; snosnamesexdeptbirthagePhone 其中约束如下&#xff1a; &#xff08;1&#xff09; 学号不能存在相同的 sno int auto_increment primary key &#xff08;2&#xff09; 名字为非空 sname varchar(20) not nu…

fork使用git可视化管理工具

Source Tree 中的基本名词说明&#xff1a; 克隆/新建(clone)&#xff1a;从远程仓库 URL 加载创建一个与远程仓库一样的本地仓库。 提交(commit)&#xff1a;将暂存区文件上传到本地代码仓库。 推送(push)&#xff1a;将本地仓库同步至远程仓库&#xff0c;一般推送&#xff0…

力扣labuladong——一刷day65

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣1161. 最大层内元素和二、力扣1302. 层数最深叶子节点的和三、力扣1609. 奇偶树 前言 有些二叉树的特殊技巧需要用层序遍历的方式来做&#xff0c;比如…

Excel如何设置在未打印时显示虚线打印时不显示虚线

记得之前分享过一个BOM表模板&#xff0c;但是在我打印时&#xff0c;发现明明是留空白的地方却打印出来的虚线 后来&#xff0c;看了自己的页面布局&#xff0c;原来是网格线设置错误了 当我设置为查看时显示网格线&#xff0c;打印时不显示网格线&#xff0c;这样就正常了

算法 拓扑序列

拓扑序列 定义 是一个有向无环图&#xff08;DAG, Directed Acyclic Graph&#xff09;的所有顶点的线性序列。 且该序列必须满足下面两个条件&#xff1a; 每个顶点出现且只出现一次。 若存在一条从顶点A 到顶点B 的路径&#xff0c;那么在序列中顶点A 出现在顶点B 的前面。…

C++标准模板(STL)- 类型支持 (杂项变换,实施当按值传递实参给函数时所进行的类型变换,std::decay)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实…

苹果配件妙控鼠标、键盘、触控板值得入手吗

大家好&#xff0c;我是极智视界&#xff0c;欢迎关注我的公众号&#xff0c;获取我的更多前沿科技分享 邀您加入我的知识星球「极智视界」&#xff0c;星球内有超多好玩的项目实战源码和资源下载&#xff0c;链接&#xff1a;https://t.zsxq.com/0aiNxERDq 苹果的优质和成功绝…