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

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

    编程练习3 - 循环结构(9~15)

    • 7-9 特殊a串数列求和(分数 15)
    • 7-10 穷举法搬运砖块问题(分数 15)
    • 7-11 数字金字塔(分数 15)
    • 7-12 输出N以内的所有素数(分数 15)
    • 7-13 猜数字游戏(分数 15)
    • 7-14 外星人的一天(分数 15)
    • 7-15 整数的分类处理(分数 15)

7-9 特殊a串数列求和(分数 15)

给定两个均不超过9的正整数a和n,要求编写程序求a+aa+aaa++⋯+aa⋯a(n个a)之和。

输入格式:
输入在一行中给出不超过9的正整数a和n。

输出格式:
在一行中按照“s = 对应的和”的格式输出。

输入样例:

2 3

输出样例:

s = 246

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

参考代码

#include <stdio.h>
int main()
{int a, b, sum=0, i, x=0;scanf("%d %d", &a, &b);for (i = 1; i <= b; i++) {x = x*10 + a;sum += x;}printf("s = %d", sum);return 0;
}

7-10 穷举法搬运砖块问题(分数 15)

这是中国古典算术问题,某工地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬1块。有多少种搬法用N人正好搬N块砖?

输入格式:
输入正整数N。

输出格式:
输出所有满足条件的搬法,每种搬法占一行。

每行按如下格式依次输出该搬法中男人、女人、小孩的人数,按男人人数的递增顺序输出,中间用空格间隔(=前后没有多余的空格,行末也无空格)。

men=男人数 women=女人数 child=小孩数

若没有满足条件的搬法,则输出"No solution!"

输入样例1:

45

输出样例1:

men=0 women=15 child=30
men=3 women=10 child=32
men=6 women=5 child=34
men=9 women=0 child=36

输入样例2:

1

输出样例2:

No solution!

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

参考代码

#include <stdio.h>
int main()
{int n, i, j, k, t=0;scanf("%d", &n);for(i=0; i<=n/3; i++)for(j=0; j<=n/2; j++){k = (n-i*3-j*2)*2;if(i+j+k == n) {printf("men=%d women=%d child=%d\n", i, j, k);t=1;}}if(t==0)printf("No solution!\n");return 0;
}

7-11 数字金字塔(分数 15)

输入一个正整数repeat (repeat<10),做repeat次下列运算:

  • 输入一个正整数n(n<10),输出n行数字金字塔。

输出时使用以下语句:

  • printf(" ");
  • printf("%d ", i);
  • printf("\n");

输入格式:
输入在第1行中给出1个正整数repeat(repeat<10)
接下来repeat行,每行给出一个正整数n(n<10)

输出格式:
按照对应顺序的n值,依次输出repeat个数字金字塔
(n行数字金字塔的格式如样例所示,注意:每个数字后面跟一个空格。)

输入样例:

2
5
2

输出样例:

        1 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4 
5 5 5 5 5 5 5 5 5 1 
2 2 2 

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

参考代码

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

7-12 输出N以内的所有素数(分数 15)

编程找出N(2≤N≤500)以内(即小于等于N)的所有素数。

输入格式:
输入整数N(2≤N≤500)。

输出格式:
每8个一行输出N以内的所有素数。注意每个数据均占5列,且采用右对齐。

输入样例1:

50

输出样例:

    2    3    5    7   11   13   17   1923   29   31   37   41   43   47

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

参考代码

#include <stdio.h>
#include <math.h>
int isprime(int n)
{if(n == 1) return 0;for(int i = 2; i <= sqrt(n); i++) {if(n % i == 0)return 0;}return 1;
}
int main()
{int i, n, k=0;scanf("%d", &n);for(i=1; i<=n; i++)if(isprime(i)) {k++;if(k == 8) {printf("%5d\n", i);k=0;} else printf("%5d", i);}return 0;
}

7-13 猜数字游戏(分数 15)

猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。

输入格式:
输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。

输出格式:
在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。

输入样例:

58 4
70
50
56
58
60
-2

输出样例:

Too big
Too small
Too small
Good Guess!

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

参考代码

#include <stdio.h>
int main()
{int i, a, n, num = 0, t;scanf("%d %d", &a, &n);if (n == 0 || n <= 0) {printf("Game Over\n");return 0;}for(i = 1; ;i++) {scanf("%d", &t);num++;if (num > n || t < 0) {printf("Game Over\n");return 0;}if (t > a) printf("Too big\n");if (t < a) printf("Too small\n");if (t == a && num == 1) {printf("Bingo!\n");break;}if (t == a && num > 1 && num <= 3) {printf("Lucky You!\n");break;}if (t == a && num > 3 && num <= n) {printf("Good Guess!\n");break;}}return 0;
}

7-14 外星人的一天(分数 15)

地球上的一天是 24 小时。但地球上还有一些精力和勤奋度都远超一般人的大神级人物,他们的“一天”是以 48 小时为周期运转的,这种人被人们尊称为“外星人”。比如普通人的周一早 8:30 是外星人的周一早 4:15;普通人的周二早 9:21 是外星人的周一下午 4:40 —— 对外星人而言,一周的工作时间只有三天(即普通人的周一至周六),周日他们会蒙头大睡恢复体力,时间对他们是没有意义的。

在外星人眼里,地球人的时钟对他们而言实在是太不方便了。本题就请你为外星人们实现一款专用时钟。

输入格式:
输入在一行中给出一个不超过 10 的正整数 N,随后 N 行,每行给出一个地球人的时刻,格式为:Day hh:mm,其中Day是 [0,6] 区间内的整数,顺序代表周日至周六;hh是 24 小时制的小时数,是 [0,23] 区间内的整数;mm是分钟数,是 [0,59] 区间内的整数。

输出格式:
对输入的每一行地球人时刻,输出对应的外星人时间,格式与输入相同。其中Day在 [0,3] 区间内,对应周日到周三;分钟数若不是整数,则向下取整。注意:由于周日的时间对外星人没有意义,所以直接输出地球人的时间即可。

输入样例:

3
1 08:30
2 09:21
0 21:07

输出样例:

1 04:15
1 16:40
0 21:07

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

参考代码

#include <stdio.h>
int main(){int day, d, h, m;scanf("%d", &day);while(day--) {scanf("%d %02d:%02d", &d, &h, &m);if(d == 0) {printf("%d %02d:%02d\n", d, h, m);continue;} else if (d % 2 == 1) {d = d/2 + 1;} else {d = d/2;h += 24;}m = ((h % 2)*60 + m) / 2;h /= 2;printf("%d %02d:%02d\n", d, h, m);}return 0;
}

7-15 整数的分类处理(分数 15)

给定 N 个正整数,要求你从中得到下列三种计算结果:

  • A1 = 能被 3 整除的最大整数
  • A2 = 存在整数 K 使之可以表示为 3K+1 的整数的个数
  • A3 = 存在整数 K 使之可以表示为 3K+2 的所有整数的平均值(精确到小数点后 1 位)

输入格式:
输入首先在第一行给出一个正整数 N,随后一行给出 N 个正整数。所有数字都不超过 100,同行数字以空格分隔。

输出格式:
在一行中顺序输出 A1、A2、A3的值,其间以 1 个空格分隔。如果某个数字不存在,则对应输出NONE

输入样例 1:

8
5 8 7 6 9 1 3 10

输出样例 1:

9 3 6.5

输入样例 2:

8
15 18 7 6 9 1 3 10

输出样例 2:

18 3 NONE

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

参考代码

#include <stdio.h>
int main()
{int i, n, m, a1=0, a2=0, cnt3=0;double sum=0.0;scanf("%d", &n);for(i=0; i<n; i++) {scanf("%d", &m);if(m%3 == 0) {if(a1<m) a1=m;}else if(m%3 == 1)a2++;else if(m%3 == 2) {cnt3++;sum += m;}}if(a1) printf("%d ", a1);else printf("NONE ");if(a2) printf("%d ", a2);else printf("NONE ");if(cnt3) printf("%.1f", sum/cnt3);else printf("NONE");return 0;
}

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

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

相关文章

鸿蒙4.0开发笔记之ArkTS装饰器语法基础@Prop@Link@State状态装饰器(十二)

文章目录 一、哪些是状态装饰器二、StatePropLink状态传递的核心规则三、状态装饰器练习 一、哪些是状态装饰器 1、State&#xff1a;被装饰拥有其所属组件的状态&#xff0c;可以作为其子组件单向和双向同步的数据源。当其数值改变时&#xff0c;会引起相关组件的渲染刷新。 …

思维模型 赫洛克效应

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。及时反馈&#xff0c;激发动力。 1 赫洛克效应的应用 1.1 赫洛克效应在管理中的应用 美国惠普公司是一家全球知名的科技公司&#xff0c;该公司非常注重员工的激励和认可。在惠普公司&…

网络和Linux网络_9(应用层和传输层_笔试选择题)

目录 一. 常见应用协议等等 1. 以下不是合法HTTP请求方法的是( ) 2. 文件传输使用的协议是&#xff08;&#xff09; 3. HTTP1.1的请求方法不包括&#xff1f;() 4. http状态码中&#xff0c;( )表示访问成功&#xff0c;( )表示坏请求&#xff0c;( )表示服务不可用。() …

mysql的几种索引

mysql可以在表的一列、或者多列上创建索引&#xff0c;索引的类型可以选择&#xff0c;如下&#xff1a; 普通索引&#xff08;KEY&#xff09; 普通索引可以提高查询效率。在表的一列、或者多列上创建索引。 每个表可以创建多个普通索引。 例如&#xff0c;下面示例&#…

智能优化算法应用:基于海洋捕食者算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于海洋捕食者算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于海洋捕食者算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.海洋捕食者算法4.实验参数设定5.算法结果…

KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(21)

接前一篇文章:KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(20) 距离本系列上一篇文章发布的时间已经过去了十多天,虽然这样算下来时间不算长,但笔者感觉上都快过了一个月没更新了。这可能是在我心里一直把Linux图形、尤其是DRM、libdrm这块看得很重,总想尽快往…

实现一个简单的网络通信下(udp)

时间过去好久了&#xff0c;先回忆一下上一篇博客的代码&#xff01;&#xff01; 目前来看&#xff0c;我们客户端发一条消息&#xff0c;我服务器收到这一条消息之后呢&#xff0c;服务器也知道了是谁给我发来的消息&#xff0c;紧接这就把这条消息放进buffer当中&#xff0c…

伸展树你需要了解一下

介绍 伸展树&#xff08;Splay Tree&#xff09;是一种平衡二叉搜索树&#xff0c;它能在O(log n)内完成插入、查找和删除操作。它是丹尼尔斯立特Daniel Sleator 和 罗伯特恩卓塔扬Robert Endre Tarjan 在1985年发明的。 伸展树是一种自调整形式的二叉查找树&#xff0c;它会在…

51单片机项目(18)——基于51单片机的大棚环境监测系统

1.功能描述 首先使用DS18B20&#xff0c;测量土壤温度&#xff0c;并显示在OLED屏幕左边。然后使用土壤湿度传感器测量土壤湿度&#xff0c;因为这个传感器输出的值是模拟量&#xff0c;所以需要使用AD转换模块。本次使用ADC0832&#xff0c;这是一个8位精度的AD转换模块&#…

MATLAB算法实战应用案例精讲-【路径规划】 图搜索算法

目录 前言 几个高频面试题目 运动规划、路径规划、轨迹规划对比 1. 运动规划 2. 路径规划VS轨迹规划

大数据技术学习笔记(七)—— Zookeeper

目录 1 Zookeeper 概述1.1 Zookeeper 定义1.2 Zookeeper 工作机制1.3 Zookeeper 特点1.4 数据结构1.5 应用场景 2 Zookeeper 安装3 客户端命令行操作4 Zookeeper 的 Java 客户端操作4.1 IDEA 环境搭建4.2 初始化 ZooKeeper 客户端4.3 创建子节点4.4 获取子节点4.5 判断Znode是否…

深入理解 Kafka 集群搭建与管理

Apache Kafka 作为分布式流处理平台的核心&#xff0c;其集群搭建与管理是确保高可用性和高性能的关键。本文将深入研究 Kafka 集群的构建、配置、工作原理、节点角色以及一些高级管理策略&#xff0c;以助力读者更深层次地理解和灵活运用 Kafka 集群。 Kafka 集群基础 1 集群…

智能优化算法应用:基于供需算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于供需算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于供需算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.供需算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Flume 安装部署

文章目录 Flume 概述Flume 安装部署官方网址下载安装配置文件启动 Flume 进程启动报错输出文件乱码问题 Flume 概述 Flume&#xff08;Apache Flume&#xff09;是一个开源的分布式日志收集、聚合和传输系统&#xff0c;属于 Apache 软件基金会的项目之一。其主要目标是简化大…

预约系统源码解析:打造智能定制化预约服务的技术奇迹

在当今数字化时代&#xff0c;预约系统的重要性日益凸显&#xff0c;而预约系统源码的开放将为各行业带来更加灵活、智能的预约解决方案。本文将深入探讨预约系统源码的技术内幕&#xff0c;为开发者提供实用的代码示例&#xff0c;助力打造智能定制化的预约服务。 技术栈概览…

【字符串匹配】【KMP算法】Leetcode 28 找出字符串中第一个匹配项的下标☆

【字符串匹配】【KMP算法】Leetcode 28 找出字符串中第一个匹配项的下标 &#xff08;1&#xff09;前缀和后缀&#xff08;2&#xff09;前缀表&#xff08;最长相同的前缀和后缀的长度&#xff09;&#xff08;3&#xff09;匹配过程示意&#xff08;4&#xff09;next数组的…

鸿蒙开发:UIAbility组件与UI的数据同步-使用EventHub进行数据通信【鸿蒙专栏-21】

文章目录 ArkTS应用模型中UIAbility组件与UI的数据同步使用EventHub进行数据通信使用globalThis进行数据同步1. UIAbility和Page之间使用globalThis2. UIAbility和UIAbility之间使用globalThis3. 使用globalThis的注意事项4. 使用globalThis的注意事项同名对象覆盖导致问题的场…

Python----练习:使用面向对象实现报名系统开发

第一步&#xff1a;分析哪些动作是由哪些实体发出的 学生提出报名 学生提供相关资料 学生缴费 机构收费 教师分配教室 班级增加学生信息 于是&#xff0c;在整个过程中&#xff0c;一共有四个实体&#xff1a;学生、机构、教师、班级&#xff01;在现实中的一个具体的实…

Kubernetes+istio部署bookinfo、Online boutique和sock shop

Kubernetesistio部署bookinfo、Online boutique和sock shop 文章目录 Kubernetesistio部署bookinfo、Online boutique和sock shopbookinfoonline-boutiquesock-shop参考 bookinfo # 创建相应的namespace kubectl create ns bookinfo # 切换namespace kubectl config set-conte…

xxl-job(分布式调度任务)

简介 针对分布式任务调度的需求&#xff0c;市场上出现了很多的产品&#xff1a; 1)TBSchedule&#xff1a;淘宝推出的一款非常优秀的高性能分布式调度框架&#xff0c;目前被应用于阿里&#xff0c;京东&#xff0c;支付宝&#xff0c;国美等很多互联网企业的流程调度系统中。…