C语言(一维数组练习)

news2024/12/12 19:55:53
  1. 键盘录入一组数列,利用冒泡排序将数据由大到小排序
#include <stdio.h>

int main(int argc,char *argv[])
{
  int i,j,tmep;
  int arr[10];
  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])
      {
        tmep=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=tmep;
      }
    }
  }
  

  printf("冒泡排序后续数组\n");
  
  for(i=0;i<len;i++)
  {
    printf("%-4d",arr[i]);
  }

  printf("\n");
    return 0;
}

在这里插入图片描述
2. 从键盘输入年、月、日,计算并输出该日是该年第几天

#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;
}

在这里插入图片描述
3. 键盘录入一组数列,求最大数、最小数、均值

#include <stdio.h>

int main(int argc,char *argv[])
{
  int arr[10],i,sum=0,tmep,j;

  int len=sizeof(arr)/sizeof(arr[0]);
  for(i=0;i<len;i++)
  {
    scanf("%d",&arr[i]);
  }

  for(i=0;i<len-1;i++)
  {
    for(j=0;j<len-1-i;j++)
    {
      if(arr[j]>arr[j+1])
      {
        tmep=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=tmep;
      }
    }
  }
  
  for(i=0;i<len;i++)
  {
    sum+=arr[i];
  }
  printf("最大%d,最小%d,平均%lf\n",arr[9],arr[0],sum/10.0);
    return 0;
}

在这里插入图片描述
4. 从键盘录入一组数列,判断是否是回文,举例:12321,abba,121

#include <stdio.h>

int isPalindrome(char arr[], int length) {
    int left = 0;
    int right = length - 1;

    while (left < right) {
        if (arr[left] != arr[right]) {
            return 0; // 不是回文
        }
        left++;
        right--;
    }

    return 1; // 是回文
}

int main() {
    char arr[100]; // 假设输入字符串的最大长度为99(留一个位置给'\0')

    printf("请输入一个字符串(不含空格):\n");
    scanf("%99s", arr); // 读取最多99个字符的字符串,防止溢出

    // 计算字符串的实际长度(不使用strlen,因为题目要求不使用<string.h>)
    int length = 0;
    while (arr[length] != '\0') {
        length++;
    }

    // 判断是否是回文
    if (isPalindrome(arr, length)) {
        printf("输入的字符串是回文。\n");
    } else {
        printf("输入的字符串不是回文。\n");
    }

    return 0;
}

在这里插入图片描述
5. 用数组存储10个整型数,通过键盘输入一个数,找出该数在数组中的下标值

#include <stdio.h>

int main(int argc, char *argv[])
{
  int arr[10];    // 定义一个一维数组来存储10个整型数
  int searchNum;  // 定义变量来存储用户要查找的数
  int found = -1; // 定义变量来标记是否找到数,初始化为-1表示未找到

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

  // 输入要查找的数
  printf("请输入要查找的数:\n");
  scanf("%d", &searchNum);

  // 查找该数在数组中的下标
  for (int i = 0; i < 10; i++)
  {
    if (arr[i] == searchNum)
    {
      found = i; // 找到数,记录下标
      break;     // 退出循环,因为已经找到
    }
  }

  // 输出结果
  if (found != -1)
  {
    printf("数 %d 在数组中的下标是 %d。\n", searchNum, found);
  }
  else
  {
    printf("数 %d 不在数组中。\n", searchNum);
  }

  return 0;
}

在这里插入图片描述
6. 通过键盘输入 10 个学员成绩,

1)输出不及格学员的成绩和下标。

2)求最高分的下标值

3)求最低成绩的下标值

4)求总成绩及平均成绩

#include <stdio.h>

int main(int argc, char *argv[])
{
  int scores[10]; // 定义一维数组存储10个学员成绩
  int i;

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

  // 1)输出不及格学员的成绩和下标(假设不及格分数为60以下)
  printf("不及格学员的成绩和下标:\n");
  for (i = 0; i < 10; i++)
  {
    if (scores[i] < 60)
    {
      printf("下标 %d,成绩 %d\n", i, scores[i]);
    }
  }

  // 2)求最高分的下标值,最低分下标值
  int maxIndex = 0;
  int minIndex = 0;
  for (i = 1; i < 10; i++)
  {
    if (scores[i] > scores[maxIndex])
    {
      maxIndex = i;
    }
    if (scores[i] < scores[minIndex])
    {
      minIndex = i;
    }
  }
  printf("最高分的下标值是 %d,最高分是 %d\n", maxIndex, scores[maxIndex]);

  printf("最低成绩的下标值是 %d,最低成绩是 %d\n", minIndex, scores[minIndex]);

  // 4)求总成绩及平均成绩
  int totalScore = 0;
  for (i = 0; i < 10; i++)
  {
    totalScore += scores[i];
  }
  float averageScore = totalScore / 10.0; // 注意要除以10.0以得到浮点数结果
  printf("总成绩是 %d,平均成绩是 %.2f\n", totalScore, averageScore);

  return 0;
}

在这里插入图片描述

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

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

相关文章

【2025最新计算机毕业设计】基于SSM+Vue中华传统文化吟诵知识学习系统

作者简介&#xff1a;✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容&#xff1a;&#x1f31f;Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

MySQL需掌握到何种程度?才能胜任工作

大家好&#xff0c;我是袁庭新。星友问&#xff1a;MySQL需要学到什么程度&#xff1f;才能胜任日常的软件开发工作呢&#xff01;以下是一些建议的学习目标和程度&#xff0c;这些目标旨在帮助你在工作中高效地使用MySQL。 数据库的基本概念、MySQL的安装及配置、SQL的概念、S…

[TPAMI 2024]Vision-Language Models for Vision Tasks: A Survey

论文网址&#xff1a;Vision-Language Models for Vision Tasks: A Survey | IEEE Journals & Magazine | IEEE Xplore 论文Github页面&#xff1a;GitHub - jingyi0000/VLM_survey: Collection of AWESOME vision-language models for vision tasks 英文是纯手打的&…

桂湾公园的地面免费停车场(50个左右)

之前一直以为桂湾公园只有P1和P2地下停车场可以免费停车。没想到桂湾公园还有地面停车场&#xff0c;停车位大概是50个。 具体位置在桂湾公园5号门地上停车场。 桂湾公园-5号门 广东省深圳市南山区桂湾河南街与鲤鱼门西二街交叉口西北20米 停车场入口对面是红星美凯龙&#x…

SpringBoot连接多数据源MySQL、SqlServer等(MyBatisPlus测试)

SpringBoot连接多数据源MySQL、SqlServer等&#xff08;MyBatisPlus测试&#xff09; 在实际的项目开发中&#xff0c;我们往往需要同时连接多个数据源对数据进行处理。本文将详细介绍在SpringBoot下配合MybatisPlus如何连接多数据源&#xff0c;实例将会使用连接MySQL、SqlSe…

基于NVIDIA NIM 平台的知识问答系统实现客服功能

前言&#xff1a; NVIDIA联合CSDN推出了《NVIDIA NIM黑客松训练营》&#xff0c;通过对着提供的实验手册&#xff0c;学习了基于NVIDIA的NIM平台知识问答系统&#xff0c;简单的一段代码就可以实现一个AI智能问答系统。而且这次活动注册账号即可获得到免费的1000tokens&#x…

(12)时间序列预测之MICN(CNN)

文章目录 前言1. challenge 一、网络结构1. MHDecomp2. Trend-cyclical Prediction Block3. Seasonal Prediction BlockMIC LayerMerge 实验结果1.长时预测 总结参考 文章信息 模型&#xff1a; MICN (Multi-scale Isometric Convolution Network)关键词&#xff1a; 长时预测…

设计模式——Facade(门面)设计模式

摘要 本文介绍了外观设计模式&#xff0c;这是一种通过简单接口封装复杂系统的设计模式。它简化了客户端与子系统之间的交互&#xff0c;降低了耦合度&#xff0c;并提供了统一的调用接口。文章还探讨了该模式的优缺点&#xff0c;并提供了类图实现和使用场景。 1. 外观设计模…

opencv-android编译遇到的相关问题处理

1、opencv-android sdk下载 下载地址&#xff1a;https://opencv.org/releases/ 下载安卓SDK即可 2、解压下载好的SDK 3、导入opencv的SDK到安卓项目中 导入步骤在/OpenCV-android-sdk/sdk/build.gradle文件的注释中写的非常详细&#xff0c;大家可安装官方给出的步骤导入。…

go语言读取yaml配置文件内容

1、config.yaml配置文件内容假设如下 name: "example" version: 1.0 settings:timeout: 30debug: truefeatures:- feature1- feature22、定义结构体 go语言定义结构体匹配yaml内容 package mainimport ("fmt""log""os""gopkg.…

STL算法之其它算法_下

random_shuffle 这个算法将[first,last)的元素次序随机排列。也就说&#xff0c;在N!中可能的元素排列中随机选出一种&#xff0c;此处N为last-first。 N个元素的序列&#xff0c;其排列方式为N!中&#xff0c;random_shuffle会产生一个均匀分布&#xff0c;因此任何一个排列被…

模拟简单的iOT工作流

没有实际接触过iOT的流程&#xff0c;应该实际使用比这个接口返回要复杂&#xff0c;只是演示~希望能参与实际的接口接入&#xff0c;而不是只展示个假数据。 启动RabbitQ 使用的是3.8.5 启动命令 RabbitMQ Service - start RabbitMQ Command Prompt rabbitmqctl start_app …

【快速入门 LVGL】-- 1、STM32 工程移植 LVGL

目录 一、LVGL 简述 二、复制一个STM32工程 三、下载 LVGL 四、裁剪 源文件 五、工程添加 LVGL 文件 六、注册 显示 七、注册 触摸屏 八、LVGL 心跳、任务刷新 九、开跑 LVGL 十、控件的事件添加、响应处理 十 一、几个好玩小事情 十 二、显示中文 ~~ 约定 ~~ 在…

关于线扫相机的使用和注意事项

引言 线扫相机作为工业视觉系统中的核心设备之一&#xff0c;以其高分辨率和高速成像的特点被广泛应用于印刷质量检测、电子元件检测、纺织品缺陷检测等领域。本文从线扫相机的基本原理出发&#xff0c;探讨其使用方法&#xff0c;并总结在实际应用中的注意事项&#xff0c;为…

MybatisPlus字段类型处理器TypeHandler

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 简介 官网&#xff1a;字段类型处理器 在 MyBatis 中&#xff0c;类型处理器&#xff08;TypeHandle…

c++编译版本问题#error C++17 or later compatible compiler is required to use xx

问题解决方向 网上多数给出的解决方法是找到setup.py&#xff0c;然后修改extra_compile_args参数中的cxx&#xff0c;由-stdc14改为-stdc17&#xff0c;但是这个方法在我这里没用。 所以我重新理解了下这个error&#xff0c;应该是说为了编译安装当前的库&#xff0c;需要的…

【AI大模型】大型语言模型LLM基础概览:技术原理、发展历程与未来展望

目录 &#x1f354; 大语言模型 (LLM) 背景 &#x1f354; 语言模型 (Language Model, LM) 2.1 基于规则和统计的语言模型&#xff08;N-gram&#xff09; 2.2 神经网络语言模型 2.3 基于Transformer的预训练语言模型 2.4 大语言模型 &#x1f354; 语言模型的评估指标 …

一文理解多模态大语言模型——下

作者&#xff1a;Sebastian Raschka 博士&#xff0c; 翻译&#xff1a;张晶&#xff0c;Linux Fundation APAC Open Source Evangelist 编者按&#xff1a;本文并不是逐字逐句翻译&#xff0c;而是以更有利于中文读者理解的目标&#xff0c;做了删减、重构和意译&#xff0c…

uC/OSII学习笔记(二)任务的堆栈检验

加入OSTaskCreateExt()创建拓展任务函数的使用。 加入OSTaskStkChk()堆栈检验函数的使用。 堆栈检验函数可检查任务堆栈的使用字节数量和空闲字节数量。 具体使用方法如下&#xff1a; 1.创建拓展任务OSTaskCreateExt()用于堆栈检验&#xff0c;堆栈检验必须用拓展任务OSTaskCr…

WPF+LibVLC开发播放器-进度条显示和拖动控制

进度条显示和拖动控制 视频教程界面上代码实现进度条显示进度进度条拖动视频进度 效果 视频教程 WPFLibVLC开发播放器-进度条控制 界面上 界面上线增加一个Slider控件&#xff0c;当做播放进度条 <SliderName"PlaySlider"Grid.Row"1"Width"800&qu…