练习题:一维数组

练习题

第一题

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

代码

#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; // 找到目标数,将标志变量设置为1index = 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.mzph.cn/diannao/64328.shtml

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

相关文章

手眼标定工具操作文档

1.手眼标定原理介绍 术语介绍 手眼标定&#xff1a;为了获取相机与机器人坐标系之间得位姿转换关系&#xff0c;需要对相机和机器人坐标系进行标定&#xff0c;该标定过程成为手眼标定&#xff0c;用于存储这一组转换关系的文件称为手眼标定文件。 ETH&#xff1a;即Eye To …

PyTorch中apex的安装方式

apex是NVIDIA开发的基于PyTorch的混合精度训练加速神器&#xff0c;能够增加运算速度&#xff0c;并且减少显存的占用。 Github地址&#xff1a;https://github.com/NVIDIA/apex官方教程&#xff1a;https://nvidia.github.io/apex/ 安装方式 需要注意的是apex的安装不能通过…

【YashanDB知识库】YCP单机部署离线升级-rpc升级方式详细步骤

前提&#xff1a;每个被纳管的主机必须开放9072端口 1、先执行备份操作 #ycm安装路径为默认/opt/ycmcd /opt/ycm/ycm/scripts[yashanecs-ba94-0001 scripts]$ sudo ./backup.sh -n ycm -i /opt/ycm/ycm -c yashandb -y /home/yashan/yasdb_home/yashandb/22.2.11.105 --cata-…

MyBatis一二级缓存的区别?

大家好&#xff0c;我是锋哥。今天分享关于【MyBatis一二级缓存的区别&#xff1f;】面试题。希望对大家有帮助&#xff1b; MyBatis一二级缓存的区别&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 的缓存机制分为 一级缓存 和 二级缓存&…

mybatis 的动态sql 和缓存

动态SQL 可以根据具体的参数条件&#xff0c;来对SQL语句进行动态拼接。 比如在以前的开发中&#xff0c;由于不确定查询参数是否存在&#xff0c;许多人会使用类似于where 1 1 来作为前缀&#xff0c;然后后面用AND 拼接要查询的参数&#xff0c;这样&#xff0c;就算要查询…

某名校考研自命题C++程序设计——近10年真题汇总(下)

第二期&#xff0c;相比上一贴本帖的题目难度更高一些&#xff0c;我当然不会告诉你我先挑简单的写~ 某名校考研自命题C程序设计——近10年真题汇总&#xff08;上&#xff09;-CSDN博客文章浏览阅读651次&#xff0c;点赞9次&#xff0c;收藏13次。本帖更新一些某校的编程真题…

【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.传输层协议 UDP 1.1 传输层 1.2 端口号 1.3 UDP 协议 1.3.1 UDP 协议端格式 1.3.2 UDP 的特点 1.3.3 面向数据报 1…

Python与数据库Mysql连接及操作方法

Python与数据库Mysql连接及操作方法 目录 Python与数据库Mysql连接及操作方法配置pip连接使用IP地址连接配置后使用机名连接 执行操作 配置pip 连接需要第三方库—pymysql pip install mysql连接 使用IP地址连接 格式&#xff1a; pymysql.connect( user ’ 用户名root’ …

Day25 C++ 文件和流

2024.12.17 C 文件和流 到目前为止&#xff0c;我们已经使用了 iostream 标准库&#xff0c;它提供了 cin 和 cout 方法分别用于从标准输入读取流和向标准输出写入流。 本教程介绍如何从文件读取流和向文件写入流。这就需要用到 C 中另一个标准库 fstream&#xff0c;它定义了…

C语言进阶(2) ---- 指针的进阶

前言&#xff1a;指针的主题&#xff0c;我们在初阶的《指针》章节已经接触过了&#xff0c;我们知道了指针的概念&#xff1a; 1.指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间。 2.指针的大小是固定的4/8个字节(32位平台/64位平台)。 3.指针是…

Web JavaScript Encrypt

Web JavaScript Encrypt 客户端加密解密

#代码实践 Springboot3.4.0 热部署

一、环境 Spring3.4.0 idea2024.3.1 二、热部署配置 1、pom.xml增加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency> …

基于 mzt-biz-log 实现接口调用日志记录

&#x1f3af;导读&#xff1a;mzt-biz-log 是一个用于记录操作日志的通用组件&#xff0c;旨在追踪系统中“谁”在“何时”对“何事”执行了“何种操作”。该组件通过简单的注解配置&#xff0c;如 LogRecord&#xff0c;即可实现接口调用的日志记录&#xff0c;支持成功与失败…

DateRangePickerDialog组件的用法

文章目录 概念介绍使用方法示例代码我们在上一章回中介绍了DatePickerDialog Widget相关的内容,本章回中将介绍DateRangePickerDialog Widget.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里说的DateRangePickerDialog是一种弹出窗口,只不过窗口的内容固定显示为…

JAVA企业级项目的日志记录技术

记录日志的作用 常用的日志框架 记录日志的准备工作 配置文件详解 日志级别

灵当crm pdf.php存在任意文件读取漏洞

免责声明: 本文旨在提供有关特定漏洞的深入信息,帮助用户充分了解潜在的安全风险。发布此信息的目的在于提升网络安全意识和推动技术进步,未经授权访问系统、网络或应用程序,可能会导致法律责任或严重后果。因此,作者不对读者基于本文内容所采取的任何行为承担责任。读者在…

【WiFi】WiFi6 5G 802.11ax 最大速率对应表

5GHz 频段 1x1 MIMO 速率 20MHz 信道宽度 MCS 0: 8.6 MbpsMCS 1: 17.2 MbpsMCS 2: 25.8 MbpsMCS 3: 34.4 MbpsMCS 4: 51.6 MbpsMCS 5: 68.8 MbpsMCS 6: 77.4 MbpsMCS 7: 86.0 MbpsMCS 8: 103.2 MbpsMCS 9: 114.7 MbpsMCS 10: 129.0 MbpsMCS 11: 143.4 Mbps 40MHz 信道宽度 …

程序设计考题汇总(四:SQL练习)

文章目录 查询结果限制返回行数 查询结果限制返回行数 select device_id from user_profile LIMIT 2;

C++对象数组对象指针对象指针数组

一、对象数组 对象数组中的每一个元素都是同类的对象&#xff1b; 例1 对象数组成员的初始化 #include<iostream> using namespace std;class Student { public:Student( ){ };Student(int n,string nam,char s):num(n),name(nam),sex(s){};void display(){cout<&l…

时钟分频模块

实现时钟的二分频&#xff0c;四分频 1.时钟分频模块&#xff1a; module clk_div(input clk, //50Mhzinput rst_n,input [15:0] lcd_id,output reg lcd_pclk);reg clk_25m; reg clk_12_5m; reg …