网站首页 > 技术文章 正文
学习工控知识,就来工控小新
农历十一月二日
2023/12/ 14
往期推荐
2023年12月13日,每天花费一分钟练习C语言:如何用C语言找到数组中的多数元素
2023年12月12日,每天花费一分钟练习C语言:如何用C语言在有序矩阵中查找目标值
每日一练
/ Daily Exercises
题目:
给定n (n是偶数,且n<100)个正整数,所有正整数均<10000;从前往后依次遍历这个数组,每两个为一组进行处理,若一组中的任意一个元素能被3或者5整除,则交换这两个元素的位置;否则不动;全部处理完成后,逆序输出整个数组。
例如给定序列: 99 35 8338,处理完成后得到:38 83 99 35
给定序列: 6734,处理完成后得到:3467
题目分析
这是一个基础的C语言编程问题,它要求我们对一个给定的数组进行一些处理,然后逆序输出。这个问题可以分为两个步骤:
- 对数组进行处理:从前往后依次遍历这个数组,每两个为一组进行处理,若一组中的任意一个元素能被3或者5整除,则交换这两个元素的位置;否则不动。
- 对数组进行逆序输出:从后往前依次输出数组中的每个元素,用空格隔开。
对于第一个步骤,我们可以用一个循环来实现。我们从数组的第一个元素开始,每次跳过两个元素,直到到达数组的末尾或倒数第二个元素。在每次循环中,我们判断当前元素和下一个元素是否有一个能被3或者5整除,如果是,我们就交换它们的位置,如果不是,我们就不做任何操作。
对于第二个步骤,我们也可以用一个循环来实现。我们从数组的最后一个元素开始,每次减少一个元素,直到到达数组的第一个元素。在每次循环中,我们输出当前元素,然后输出一个空格,最后输出一个换行符。
程序展示
#include <stdio.h>
#include <math.h>
int main()
{
int i,j,n,a[10005],t;
// 定义变量,i和j用来遍历数组,n用来存放数组的大小,a用来存放数组,t用来交换元素
scanf("%d",&n);
// 输入数组的大小
for (i=0;i<n; i++)
// 从第一个元素开始,遍历数组
{
scanf("%d",&a[i]);
// 输入每个元素
if (i%2== 1)
// 如果当前元素的下标是奇数,说明它和前一个元素是一组
{
if(a[i]%3==0||a[i]%5==0||a[i-1]%3==0||a[i-1]%5==0)
// 如果这一组中的任意一个元素能被3或者5整除
{
t=a[i]; // 交换这两个元素的位置
a[i]=a[i-1];
a[i-1]=t;
}
}
}
for (i=n-1;i>= 0;i--) // 从最后一个元素开始,遍历数组
{
printf("%d ",a[i]); // 输出每个元素
}
return 0; // 程序结束
}
程序测试
运行程序:
首先输入一个数组的长度:4
输入乱序的:99 35 83 38
执行程序时输出结果为38 83 99 35
下期题目
输入某人的身高 (厘米) 和体重 (公斤),按下式确定此人的体重是否标准、过胖或过瘦
(1) 标准体重= (身高-110) 公斤;
(2) 超过标准体重5公斤为过胖;
(3) 低于标准体重5公斤为过瘦。例如:输入身高和体重分别为160,60,输出为过胖输入身高和体重分别为160,50,输出为标准输入身高和体重分别是160,40,输出为过瘦。
点赞加关注,学习不迷路
微信公众号|工控小新
EPLAN电气绘图、TIA博图基础 、CAD、C语言教学、单片机基础、三菱PLC ... 每日持续更新中
猜你喜欢
- 2024-09-15 Scala学习六之数组和元组了解(scala 字符串数组)
- 2024-09-15 数据分析和机器学习框架底层工具NumPy的数组操作-索引和切片
- 2024-09-15 【Python数据分析系列】全面梳理数组维度转化和堆叠操作(案例)
- 2024-09-15 ST 语言数组处理(st语言数组array)
- 2024-09-15 机器学习实战:Numpy多维数组的创建、索引与切片
- 2024-09-15 4小时的工作,1秒完成,中学体育比赛赛道汇总VBA数组字典进阶
- 2024-09-15 22.C# 多维数组(多维数组对象)
- 2024-09-15 VBA永远的神 3天工作1秒完成 20万行料号BOM表处理 数组字典案例
- 2024-09-15 C语言二维数组(c语言二维数组排序)
- 2024-09-15 Excel数据透视表、vlookup、数组公式、VBA自定义函数一对多查找
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 504℃MySQL service启动脚本浅析(r12笔记第59天)
- 482℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 480℃启用MySQL查询缓存(mysql8.0查询缓存)
- 460℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 440℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 438℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)