当前位置: 首页 > ops >正文

C语言的数组与字符串练习题2

C语言的数组与字符串练习题2

6. 数组排序(降序)

题目描述:
编写一个C程序,输入5个整数存储在数组中,对数组进行降序排序,并输出排序后的数组。

解题思路:
类似于升序排序,使用冒泡排序算法,但在比较时调整条件,使得较大的元素向前移动。

程序流程如下:

  1. 声明一个数组,大小为5。
  2. 提示用户输入5个整数,并存储在数组中。
  3. 使用嵌套for循环实现冒泡排序(降序)。
  4. 输出排序后的数组。

详细代码:

#include <stdio.h>int main() {int arr[5];int temp;// 提示用户输入5个整数printf("请输入5个整数:\n");for(int i = 0; i < 5; i++) {scanf("%d", &arr[i]);}// 冒泡排序(降序)for(int i = 0; i < 5 - 1; i++) {for(int j = 0; j < 5 - 1 - i; j++) {if(arr[j] < arr[j + 1]) {// 交换arr[j]和arr[j + 1]temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}// 输出排序后的数组printf("降序排序后的数组元素为:\n");for(int i = 0; i < 5; i++) {printf("arr[%d] = %d\n", i, arr[i]);}return 0;
}

代码注释:

  • int arr[5];:声明一个大小为5的整数数组。
  • for(int i = 0; i < 5; i++):循环读取用户输入的5个整数并存储在数组中。
  • 冒泡排序部分:
    • 外层循环控制排序的次数,每次将最小的元素移动到未排序部分的末尾。
    • 内层循环比较并交换相邻的元素,如果前一个元素小于后一个元素,则交换,确保较大的元素向前移动。
  • printf:输出降序排序后的数组元素。

7. 二维数组的初始化与访问

题目描述:
编写一个C程序,声明并初始化一个3x3的二维整数数组,然后遍历并打印所有元素。

解题思路:
二维数组可以看作是数组的数组。初始化时可以在声明时直接给出二维元素。遍历二维数组需要使用嵌套的for循环,分别控制行和列的索引。

程序流程如下:

  1. 声明并初始化一个3x3的二维整数数组。
  2. 使用嵌套for循环遍历二维数组的行和列。
  3. 在循环中打印每个数组元素。

详细代码:

#include <stdio.h>int main
http://www.xdnf.cn/news/17111.html

相关文章:

  • 【前端开发】四. JS内置函数
  • 5G毫米波射频前端测试:OTA暗室与波束成形性能验证
  • RuoYi-Cloud 微服务本地部署详细流程实录(IDEA + 本地 Windows 环境)
  • 商派小程序商城(小程序/官网/APP···)的范式跃迁与增长再想象
  • 参考线程池构建一个高性能、配置驱动的Docker容器池
  • 基于Simulink/MWORKS的文字与开关量混合传输系统设计
  • [LVGL] 部件lv_obj | 样式lv_style | LV_PART_ | LV_STATE_
  • Cartographer安装测试与模块开发(四)--Cartographer纯定位思路
  • Linux基本指令:掌握系统操作的钥匙
  • 浅谈RNN被Transformer 取代的必然性
  • 面试题:基础的sql命令
  • 在LLM小型化趋势下,AI Infra需要做出哪些相应调整?
  • 【完整源码+数据集+部署教程】爬行动物异常检测系统源码和数据集:改进yolo11-GhostDynamicConv
  • JavaScript 中 var、let 和 const 的区别与使用场景
  • TCP的三次握手和四次挥手实现过程。以及为什么需要三次握手?四次挥手?
  • [GESP202309 四级] 2023年9月GESP C++四级上机题题解,附带讲解视频!
  • Python爬虫08_Requests聚焦批量爬取图片
  • layernorm backward CUDA优化分析
  • linux nfs+autofs
  • mq_unlink系统调用及示例
  • Java开发时出现的问题---并发与资源管理深层问题
  • 在具身智能火热加持下,看 2025 年机器人学术年会中的热点主题。PNP机器人展示力控、灵巧手捕捉等案例。
  • Android Studio下载及安装配置
  • 计算机视觉的四项基本任务辨析
  • Android audio之 AudioDeviceInventory
  • 飞算JavaAI需求转SpringBoot项目:从零到一的沉浸式开发之旅
  • 人工智能之数学基础:利用全概率公式如何将复杂事件转为简单事件
  • 学习游戏制作记录(将各种属性应用于战斗以及实体的死亡)8.5
  • DM8日常运维命令总结(四)
  • Go语言 string