C语言(一维数组练习)

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

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL实现透视表查询

PostgreSQL 8.3版本发布时&#xff0c;引入了一个名为tablefunc的新扩展。这个扩展提供了一组非常有趣的函数。其中之一是交叉表函数&#xff0c;用于创建数据透视表。这就是我们将在本文中讨论的内容。 需求说明 解释此函数如何工作的最简单方法是使用带有数据透视表的示例…

消息中间件-Kafka1-实现原理

消息中间件-Kafka 一、kafka简介 1、概念 Kafka是最初由Linkedin公司开发&#xff0c;是一个分布式、支持分区&#xff08;partition&#xff09;、多副本的&#xff08;replica&#xff09;&#xff0c;基于zookeeper协调的分布式消息系统&#xff0c;它的最大的特性就是可以…

protobuf实现Hbase数据压缩

目录 前置HBase数据压缩效果获取数据(反序列化) 前置 安装说明 使用说明 HBaseDDL和DML操作 HBase数据压缩 问题 在上文的datain中原文 每次写入数据会写入4个单元格的内容&#xff0c;现在希望能对其进行筛减&#xff0c;合并成1格&#xff0c;减少存储空间&#xff08;序列…

爬虫专栏第二篇:Requests 库实战:从基础 GET 到 POST 登录全攻略

简介&#xff1a;本文聚焦 Requests 库的强大功能与应用实战。首先介绍其安装步骤及版本选择要点&#xff0c;随后深入讲解 GET 请求&#xff0c;以百度页面为例&#xff0c;展示如何发起基本 GET 请求、巧妙添加 headers 与参数以精准搜索&#xff0c;以及正确设置 encoding 避…

【Leetcode】19. 删除链表的第N个节点

【Leetcode】19. 删除链表的第N个节点 1. 题目介绍2. 方法一&#xff1a;计算链表长度逻辑流程:代码复杂度分析 1. 题目介绍 题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,…

工业齐套管理虚拟现实仿真模拟软件

工业齐套管理虚拟现实仿真模拟软件是与法国最大的汽车制造商合作开发的一款虚拟现实仿真模拟软件&#xff0c;借助身临其境的虚拟现实环境&#xff0c;无需停止生产线&#xff0c;即可模拟仓库和提货区域。 工业齐套管理虚拟现实仿真模拟软件不仅适用于汽车工业&#xff0c;安全…

【嘟嘟早教卡】 小程序源码分享带后台管理

【嘟嘟早教卡】是专门为 3-6 岁婴幼儿童学习普通话、英语研发的早教启蒙认知识字的小程序 小程序由 Taro 及 Tailwind CSS 构建而成&#xff0c;后台管理使用 Laravel 及 Tailwind CSS 想法源于小时候玩的认知卡片&#xff0c;基本大部分家庭都买过认知卡片&#xff0c;我按照…

概率论相关知识随记

作为基础知识的补充&#xff0c;随学随记&#xff0c;方便以后查阅。 概率论相关知识随记 期望&#xff08;Expectation&#xff09;期望的定义离散型随机变量的期望示例&#xff1a;掷骰子的期望 连续型随机变量的期望示例&#xff1a;均匀分布的期望 期望的性质线性性质期望的…

FastAPI 响应状态码:管理和自定义 HTTP Status Code

FastAPI 响应状态码&#xff1a;管理和自定义 HTTP Status Code 本文介绍了如何在 FastAPI 中声明、使用和修改 HTTP 状态码&#xff0c;涵盖了常见的 HTTP 状态码分类&#xff0c;如信息响应&#xff08;1xx&#xff09;、成功状态&#xff08;2xx&#xff09;、客户端错误&a…

oracle 11g中如何快速设置表分区的自动增加

在很多业务系统中&#xff0c;一些大表一般通过分区表的形式来实现数据的分离管理&#xff0c;进而加快数据查询的速度。分区表运维管理的时候&#xff0c;由于人为操作容易忘记添加分区&#xff0c;导致业务数据写入报错。所以我们一般通过配置脚本或者利用oracle内置功能实现…

机器学习深入剖析逻辑回归算法

一、引言 在机器学习领域&#xff0c;逻辑回归&#xff08;Logistic Regression&#xff09;是一种极为经典且应用广泛的算法。尽管其名称带有 “回归” 二字&#xff0c;但实际上它主要用于解决分类问题&#xff0c;并且在众多领域都发挥着重要作用。接下来&#xff0c;让我们…

如何加强游戏安全,防止定制外挂影响游戏公平性

在现如今的游戏环境中&#xff0c;外挂始终是一个困扰玩家和开发者的问题。尤其是定制挂&#xff08;Customized Cheats&#xff09;&#xff0c;它不仅复杂且隐蔽&#xff0c;更能针对性地绕过传统的反作弊系统&#xff0c;对游戏安全带来极大威胁。定制挂通常是根据玩家的需求…

6.824/6.5840 Lab 1: MapReduce

宁静的夏天 天空中繁星点点 心里头有些思念 思念着你的脸 ——宁夏 完整代码见&#xff1a; https://github.com/SnowLegend-star/6.824 由于这个lab整体难度实在不小&#xff0c;故考虑再三还是决定留下代码仅供参考 6.824的强度早有耳闻&#xff0c;我终于也是到了挑战这座高…

解决Jupyter Notebook无法转化为Pdf的问题(基于Typora非常实用)

笔者在完成各项作业和做笔记时&#xff0c;经常用到jupyter notebook&#xff1b;其因为可以同时运行python并提供格式化的数字公式的输入方式&#xff0c;得到了广大用户的喜爱。 当我们想要将.ipynb文件导出为pdf时&#xff0c;有两种常用方法。 1.Ctrlp 2.通过File ->…

[在线实验]-RabbitMQ镜像的下载与部署

镜像下载 docker的rabbitmq镜像资源-CSDN文库 加载镜像 docker load --input rabbitmq.tar 给镜像打标签 这里发现镜像名为none&#xff0c;需要给镜像重命名下 docker tag [镜像id] [新镜像名称]:[新镜像标签] docker tag ebaf409ffbe2 rabbitmq:management 运行镜像…

【JVM】—G1 GC日志详解

G1 GC日志详解 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记链接&#x1f449;https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x1f60a; 文章目录 G1 GC日志详解1 G1 GC周期2 G1日…

ADBC 查询语法介绍:EXECUTE_QUERY

可使用 CL_SQL_STATEMENT 类的以下实例方法执行查询&#xff1a; EXECUTE_QUERY 该方法有一个字符串类型的强制输入参数 STATEMENT&#xff0c;必须向其传递语法正确的 SELECT 语句。与 DML 语句一样&#xff0c;SET_PARAM 方法可用于将 ABAP 数据对象绑定到占位符。 查询结…

线程信号量 Linux环境 C语言实现

既可以解决多个同类共享资源的互斥问题&#xff0c;也可以解决简易的同步问题 头文件&#xff1a;#include <semaphore.h> 类型&#xff1a;sem_t 初始化&#xff1a;int sem_init(sem_t *sem, int pshared, unsigned int value); //程序中第一次对指定信号量调用p、v操…

springboot+mybatis对接使用postgresql中PostGIS地图坐标扩展类型字段

方案一&#xff08;完全集成和自动解析&#xff09;&#xff1a; <dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId></dependency> 使用 org.postgresql.geometric包下的 PGpoint 类来接收数据库中POINT…

21个Python脚本自动执行日常任务(1)

引言 作为编程领域摸爬滚打超过十年的老手&#xff0c;我深刻体会到&#xff0c;自动化那些重复性工作能大大节省我们的时间和精力。 Python以其简洁的语法和功能强大的库支持&#xff0c;成为了编写自动化脚本的首选语言。无论你是专业的程序员&#xff0c;还是希望简化日常工…