万普插件库

jQuery插件大全与特效教程

2023 12 14,每天一分钟练习C语言:一个简单的数组处理和逆序输出

学习工控知识,就来工控小新


农历十一月二日

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 ... 每日持续更新中

#头条创作挑战赛#

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言