练习题:一维数组

news2024/12/18 9:20:12

练习题

第一题

键盘录入一组数列,利用冒泡排序将数据由大到小排序

代码

#include <stdio.h>

int arr_home01()
{

  int arr[10];
  int i,j,temp;

  printf("请输入10个测试整数:\n");

  int len = sizeof(arr) / sizeof(arr[0]);

  for(i = 0;i < len;i++)
  {
    scanf("%d",&arr[i]);
  }
  printf("\n");

  for(i = 0;i < len - 1;i++)
  {
    for(j = 0;j < len - 1 - i;j++)
    {
      if (arr[j] < arr[j+1])
      {
        temp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = temp;
      }
    }
  }
  printf("冒泡排序遍历数组:\n");

  for (i = 0; i < len; i++)
  {
    printf("%-4d",arr[i]);
  }
  printf("\n");
}
int main(int argc,char *argv)
{
    arr_home01();
    return 0;
}

运行结果

在这里插入图片描述

第二题

从键盘输入年、月、日,计算并输出该日是该年第几天

代码

include <stdio.h>

int main(int argc,char *argv[])
{

    int year,month,day,sum,k;

    int t[] = {31,28,31,30,31,30,31,31,30,31,30,31};

    printf("请输入年、月、日:\n");
    scanf("%d-%d-%d",&year,&month,&day);

    if ((year % 4 == 0 && year %100 != 0) || year % 400 == 0)
    {
      t[1] = 29;
    }

    sum = day;

    for(k = 0;k < month - 1;k++)
    {
      sum += t[k];
    }

    printf("%d月%d日是%d年的第%d天。\n",month,day,year,sum);
    
    return 0;
}

运行结果

在这里插入图片描述

第三题

键盘录入一组数列,求最大数、最小数、均值

代码

#include <stdio.h>

int main(int argc, char *argv[])
{
  int arr[10];
  int i, n, max, min, average;
  int sum = 0;

  printf("请输入数列的长度:\n");
  scanf("%d", &n);

  if (n <= 0 || n > 5)
  {
    printf("输入的长度无效,请输入1~20的整数!\n");
    return 1;
  }

  printf("请输入数列中的数:\n");

  for (i = 0; i < n; i++)
  {
    printf("第%d个数:", i + 1);
    scanf("%d", &arr[i]);
  }

  for (int i = 0; i < n; i++)
  {
    sum += arr[i];

    if (arr[i] > max)
    {
      max = arr[i];
    }
    if (arr[i] < min)
    {
      min = arr[i];
    }
  }

  average = sum / n;

  printf("最大数:%d\n", max);
  printf("最小数:%d\n", min);
  printf("平均数:%d\n", average);

  return 0;
}

运行结果

在这里插入图片描述

第四题

从键盘录入一组数列,判断是否是回文,举例:12321,abba,12

代码

#include <stdio.h>

int main()
{
  int n;                // 定义一个变量,表示数列的长度
  int arr[100];     // 定义一个数组
  int number = 1; // 用来判断输入的回文数是否正确

  printf("请输入数列的长度:\n");
  scanf("%d", &n);

  if (n <= 0 || n > 100)
  {
    printf("输入的长度不合法,请输入1到100之间的整数。\n");
    return 1; 
  }

  printf("请输入数列的元素(以空格分隔):\n");
  for (int i = 0; i < n; i++)
  {
    scanf("%d", &arr[i]);
  }

  for (int i = 0; i < n / 2; i++)
  {
    if (arr[i] != arr[n - 1 - i])
    {
      number = 0; 
      break;            
    }
  }

  if (number)
  {
    printf("该数列是回文。\n");
  }
  else
  {
    printf("该数列不是回文。\n");
  }

  return 0; 
}

运行结果

在这里插入图片描述

第五题

用数组存储10个整型数,通过键盘输入一个数,找出该数在数组中的下标值;

代码

#include <stdio.h>

int main()
{
  int arr[5];    // 声明一个包含10个整型数的一维数组
  int number;  // 声明用于存储用户输入要查找的数的变量
  int found = 0;  // 声明一个标志变量,用于标记是否找到目标数
  int index = 0; // 声明一个变量用于存储找到的目标数的下标

  printf("请输入5个整型数:\n");
  for (int i = 0; i < 5; i++)
  {
    scanf("%d", &arr[i]);
  }

  // 提示用户输入要查找的数
  printf("请输入要查找的数:\n");
  scanf("%d", &number);

  // 遍历数组,查找目标数
  for (int i = 0; i < 5; i++)
  {
    if (arr[i] == number)
    {
      found = 1; // 找到目标数,将标志变量设置为1
      index = i; // 记录目标数的下标
      break;     // 找到后退出循环
    }
  }

  // 根据查找结果输出相应信息
  if (found)
  {
    printf("数 %d 在数组中的下标是:%d\n", number, index);
  }
  else
  {
    printf("在数组中未找到数 %d\n", number);
  }

  return 0; // 程序正常结束
}

运行结果

在这里插入图片描述

第六题

通过键盘输入 10 个学员成绩, 1)输出不及格学员的成绩和下标。 2)求最高分的下标值 3)求最低成绩的下标值 4)求总成绩及平均成绩

代码

#include <stdio.h>

int main(int argc, char *argv[])
{
  int arr[10];
  int max = 0, min = 100, sum = 0;
  int maxIndex = -1, minIndex = -1; // 初始化索引变量
  float average;
  int len = sizeof(arr) / sizeof(arr[0]);

  printf("请输入10个学员的成绩\n");
  for (int i = 0; i < len; i++)
  {
    scanf("%d", &arr[i]);
  }

  for (int i = 0; i < len; i++)
  {
    if (arr[i] < 60)
    {
      printf("不及格学员的成绩是:%d, 下标为:%d\n", arr[i], i);
    }

    if (arr[i] > max)
    {
      max = arr[i];
      maxIndex = i;
    }

    if (arr[i] < min)
    {
      min = arr[i];
      minIndex = i;
    }

    sum += arr[i];
  }

  average = sum / 10.0;
  printf("最高分的下标是:%d\n最低分的下标是:%d\n总成绩是:%d\n平均成绩是:%.2f\n", maxIndex, minIndex, sum, average);

  return 0;
}

运行结果

在这里插入图片描述

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

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

相关文章

Kerberos身份验证

Kerberos是更现代化的身份验证协议&#xff0c;它比 NTLM 认证更安全&#xff0c;但域内某些服务仍支持 NTLM 认证。Kerberos 和 NTLM 认证一样&#xff0c;都是通过在 SSPI 接口实现的功能&#xff0c;这使得使用第三方协议&#xff08;如&#xff1a;HTTP、SMB、LDAP&#xf…

Kotlin复习

一、Kotlin类型 1.整数 2.浮点 显示转换&#xff1a; 所有数字类型都支持转换为其他类型&#xff0c;但是转换前会检测长度。 toByte(): Byte toShort(): Short toInt(): Int toLong(): Long toFloat(): Float toDouble(): Double 不同进制的数字表示方法&#xff08;为了提高…

12月17日作业

#include <myhead.h>int main(int argc, const char *argv[]) {int pipefd[2];char buff[1024] "hello world";char s[1024];if(pipe(pipefd)-1){perror("pipe");return -1;}//读端pipefd[0] 写端pipefd[1]pid_t pid fork();//创建子进程if(pid0){…

Shopee算法分析 - 算法分析二(与URL有关的Key)

http://blog.androidcrack.com/index.php/archives/39/ 在Unidbg文章中, 我们尝试过多次主动调用, 文中可以发现, 只有253b8c85 这个的key是不变的. Unidbg运行一遍,搜索运行下这个Key, 我们在下面的堆栈中, 可以看到memcpy的调用地址为0x0498ec Unidbg trace整个流程, 在010ed…

ChatGPT重大更新:新增实时搜索和高级语音

12月17日消息&#xff0c;据报道&#xff0c;OpenAI开启了第八天技术分享直播&#xff0c;对ChatGPT搜索功能进行了大量更新。 此次ChatGPT新增的功能亮点纷呈。其中&#xff0c;实时搜索功能尤为引人注目。OpenAI对搜索算法进行了深度优化&#xff0c;使得用户提出问题后&…

Day9 神经网络的偏导数基础

多变量函数与神经网络 在神经网络中&#xff0c;我们经常遇到多变量函数。这些函数通常描述了网络的输入、权重、偏置与输出之间的关系。例如&#xff0c;一个简单的神经元输出可以表示为&#xff1a; z f ( w 1 x 1 w 2 x 2 … w n x n b ) z f(w_1x_1 w_2x_2 \ldots…

windows和LINUX下校验文件的哈希值(MD5、SHA256)

可以通过两个文件的哈希值来对比两个文件是不是一模一样&#xff0c;有没有缺失 1、windows CertUtil -hashfile 文件路径 MD5 CertUtil -hashfile 文件路径 SHA256 2、Liunx 校验当前目录下所有文件 sha256sum . 校验指定文件名 sha256sum 文件名

使用beego操作数据库的简单web项目

1、beego介绍 Beego 是一个开源的、高性能的Go语言框架&#xff0c;用于快速开发RESTful API、Web应用、后端服务等各种类型的软件。它由国人Asta Xie创建&#xff0c;并得到了广泛的社区支持。Beego的设计理念是让开发者能够以最少的时间和代码量来完成Web应用的开发。 以下是…

IS-IS协议

IS-IS协议介绍 IS-IS&#xff08;Intermediate System to Intermediate System&#xff09;协议是一种链路状态的内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于在同一个自治系统&#xff08;Autonomous System, AS&#xff09;内部的路由器之间交换路由信息。IS-I…

不良人系列-复兴数据结构(栈和队列)

个人主页&#xff1a;爱编程的小新☆ 不良人经典语录&#xff1a;“相呴相济 玉汝于成 勿念 心安” 目录 一. 栈(stack) 1. 栈的概念 2. 栈的常见方法 3.栈的模拟实现 ​编辑 二. 队列 1. 队列的概念 2. 队列的使用 2.1 队列的常见方法 2.2 队列的模拟实现 2.3 队列…

机器学习04-为什么Relu函数

机器学习0-为什么Relu函数 文章目录 机器学习0-为什么Relu函数 [toc]1-手搓神经网络步骤总结2-为什么要用Relu函数3-进行L1正则化修改后的代码解释 4-进行L2正则化解释注意事项 5-Relu激活函数多有夸张1-细数Relu函数的5宗罪2-Relu函数5宗罪详述 6-那为什么要用这个Relu函数7-文…

win服务器的架设、windows server 2012 R2 系统的下载与安装使用

文章目录 windows server 2012 R2 系统的下载与安装使用1 windows server 2012 的下载2 打开 VMware 虚拟机软件&#xff08;1&#xff09;新建虚拟机&#xff08;2&#xff09;设置虚拟机&#xff08;3&#xff09;打开虚拟机 windows server 2012&#xff08;4&#xff09;进…

241217-解决Ollama无法通过配置文件修改模型下载路径的方法

A. 常规修改下载模型路径的方法 Linux怎样设置ollama保存模型的路径&#xff1f; - 南门子的回答 - 知乎 B. 上述方法失效时的解决方案 Is there a way to change the download/run directory? Issue #680 ollama/ollama 具体来说也就是在ollama serve 启动之前&#xff…

戴森球计划新玩法!利用MOD和cpolar实现公网环境多人游戏

文章目录 前言1. 下载MOD2.配置cpolar内网穿透3. 主机开启联机3.1 玩家加入游戏 4. 配置固定的TCP端口5. 游玩体验 前言 《戴森球计划》不仅是一款融合了科幻冒险与经营管理元素的游戏&#xff0c;更是一个让玩家在浩瀚宇宙中尽情探索和创造的平台。在这个游戏中&#xff0c;你…

农田“智能管家”:道品科技农业移动式水肥一体机

一、农业移动式水肥一体机的兴起背景 &#xff08;一&#xff09;现代农业面临的挑战 在全球人口持续增长的大背景下&#xff0c;如今的粮食需求较以往有了大幅度增加。据相关统计数据显示&#xff0c;预计到 2030 年&#xff0c;全世界仍有近 6 亿人口长期食物不足。为了保障…

计算机进制的介绍

一.进制介绍 对于整数&#xff0c;有四种表示方式: 1&#xff09;二进制:0,1&#xff0c;满2进1。 在golang中&#xff0c;不能直接使用二进制来表示一个整数&#xff0c;它沿用了c的特点。 参考:Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 //赋值…

3D Gaussian Splatting for Real-Time Radiance Field Rendering-简洁版

1. 研究背景与问题 传统的3D场景表示方法&#xff0c;如网格和点云&#xff0c;适合GPU加速的光栅化操作&#xff0c;但缺乏灵活性。而基于神经辐射场&#xff08;NeRF&#xff09;的表示方式&#xff0c;尽管质量高&#xff0c;但需要高成本的训练和渲染时间。此外&#xff0…

用ue5打开网址链接

需要用到 Launch URL 这个函数 字面意思就是打开填写的链接网页 这里填写的是百度&#xff0c;按下Tab键后就会打开百度的网页

电脑为什么会提示“msvcr120.dll缺失”?“找不到msvcr120.dll文件”要怎么解决?

电脑故障排查指南&#xff1a;揭秘“msvcr120.dll缺失”的真相与解决方案 在软件开发与日常维护的广阔天地里&#xff0c;遇到系统报错或文件缺失的情况可谓家常便饭。今天&#xff0c;我将带领大家深入探讨一个常见的系统提示——“msvcr120.dll缺失”&#xff0c;并揭秘其背…

Java:集合(List、Map、Set)

文章目录 1. Collection集合1-1. 迭代器遍历方式1-2. 通过for循环进行遍历1-3. forEach遍历 2. List集合2-1. ArrayList底层实现原理2-2. LinkedList底层实现原理 3. Set集合3-1. HashSet 底层实现3-2. LinkedHashSet 底层实现3-3. TreeSet 4. Collection集合->总结5. Map集…