练习题:一维数组

embedded/2024/12/19 20:27:51/

练习题

第一题

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

代码

#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.ppmy.cn/embedded/147098.html

相关文章

SpringMVC的使用

之前我们介绍了如何创建SpringMVC工程&#xff0c;本期介绍如何如何更加详细的使用SpringMVC。 这里给出之前的链接&#xff1a;如何创建SpringMVC工程-CSDN博客 1.跳转不经过视图解析器 之前我们为SpringMVC工程添加了视图解析器&#xff0c;使得每个返回的字符串请求都会加…

如何使用arping命令检测IP地址冲突?

不同的操作系统对于IP地址冲突都有着不同的检测与解决方法。 在Windows系统之中&#xff0c;如果出现IP地址冲突&#xff0c;系统会显示图表进行提示&#xff0c;你可以根据图标来进行后续的操作&#xff0c;尽可能的避免IP地址冲突带来的影响。 而在Linux系统之中是没有类似的…

游戏引擎学习第49天

仓库: https://gitee.com/mrxiao_com/2d_game 回顾 我们当时在讨论我们必须要进行一些改进&#xff0c;以便在游戏中实现更好的碰撞检测。当时展示了一种非常基本的形式&#xff0c;以十字路口为例来实现碰撞交叉工作。然后我们意识到需要升级到更复杂的水平&#xff0c;以便…

如何实现一套完整的CI/CD?

CI/CD在项目中的作用不可言喻&#xff0c;避免了手工操作的低级失误以及便捷了开发部署项目。首先实现完整CI/CD&#xff0c;需要一些前置知识。 CI是什么&#xff1f; CI是持续化集成。他主要流程其实就是开发将代码上传到Github&#xff0c;持续集成工具&#xff08;Github …

旅游资源系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…

基于微信小程序的小区疫情防控ssm+论文源码调试讲解

第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库&#xff0c;接下来就对其具备的主要特征进行描述。 &#xff08;1&#xff09;首选Mysql数据库也是为了节省开发资金&#xff0c;因为网络上对Mysql的源码都已进行了公开展示&#xff0c;开发者根据程序开发需…

在Linux系统中, 查询mysql

在Linux系统中&#xff0c;MySQL的启动文件通常位于/etc/init.d目录下&#xff0c;文件名通常以mysql或者mysqld开头。你可以使用以下命令来查找MySQL的启动脚本&#xff1a; sudo find / -name "mysql*" -type f 这个命令会搜索整个文件系统来找到所有以mysql开头…

SpringBoot 开启热部署 项目热启动 一键调试无需 无需重启

依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope> <!-- 只在开发环境下使用 --> </dependency>Idea设置 设置完后&#xff0c;修…