【C/PTA——7.数组1】

C/PTA——7.数组1

    • 7-1 计算最大值出现的次数
      • 1.题目要求
      • 2.代码实现
    • 7-2 求一批整数中出现最多的个位数字
      • 1.题目要求
      • 2.代码实现
    • 7-3 装箱问题
      • 1.题目要求
      • 2.代码实现
    • 7-4 数组-值钱的微信号
      • 1.题目要求
      • 2.代码实现
    • 7-5 数组-吹泡泡
      • 1.题目要求
      • 2.代码实现
    • 7-6 数组-数学鬼才
      • 1.题目要求
      • 2.代码实现

7-1 计算最大值出现的次数

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main()
{
    int arr[1001] = { 0 };
    int n = 0;
    scanf("%d", &n);
    int count = 0;
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    for (int i = 0; i < n - 1; i++)//先排序
    {
        int j = 0;
        for (j = 0; j < n - i - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
    for (int i = 0; i < n; i++)//然后计数
    {
        if (arr[i] == arr[n - 1])
           count++;
    }
    printf("%d %d", arr[n - 1], count);
    return 0;
}

7-2 求一批整数中出现最多的个位数字

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main() {
    int num, b, sum = 0, max = 0;
    int flag[10];
    int a[10] = { 0 };
    for (int i = 0; i < 10; i++) {
        flag[i] = -1;
    }
    scanf("%d", &num);
    for (int i = 0; i < num; i++) {
        scanf("%d", &b);
        if (b == 0) {
            a[0]++;
        }
        else {
            while (b > 0) {
                a[b % 10]++;
                b /= 10;
            }
        }
    }
    for (int i = 0; i < 10; i++) {
        if (a[i] > max) {
            max = a[i];
        }
    }
    for (int i = 0; i < 10; i++) {
        if (a[i] == max) {
            flag[sum++] = i;
        }
    }
    printf("%d: ", max);
    for (int i = 0; i < sum; i++) {
        if (flag[i] != -1) {
            printf("%d", flag[i]);
            if (i != sum - 1) {
                printf(" ");
            }
        }
    }
    return 0;
}

7-3 装箱问题

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main()
{
    int m, j, i;
    scanf("%d", &m);
    int a[m];
    int c[10007] = { 0 };//箱内物品总大小
    int b[m];//记录箱子号
    for (i = 0; i < m; i++)
    {
        scanf("%d", &a[i]);
    }
    int k = 0;
    for (i = 0; i < m; i++)
    {
        int p = 0;//设置装箱开关
        for (j = 0; j <= k; j++)
        {
            if ((c[j] + a[i]) <= 100)
            {
                c[j] += a[i];
                b[i] = j + 1;
                p = 1;
                break;
            }
        }
        if (p == 0)//未装进则再开一个箱子
        {
            k++;
            c[k] += a[i];
            b[i] = k + 1;
        }
    }
    for (i = 0; i < m; i++)
    {
        printf("%d %d\n", a[i], b[i]);
    }
    printf("%d", k + 1);
    return 0;
}

7-4 数组-值钱的微信号

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main()
{
    int k = 0;
    int n = 0;
    scanf("%d %d", &k, &n);
    int arr[51] = { 0 };
    for (int i = 0; i < n; i++)
    {
        scanf("%d", &arr[i]);
    }
    for (int i = 0; i < n - 1; i++)//先进行冒泡排序,把消耗的金币按小到大排序
    {
        int j = 0;
        for (j = 0; j < n - i - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                int tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
    int sum = 0;
    int count = 0;
    for (int i = 0; i < n; i++)//消耗的越少就要的微信个数越多
    {
        sum += arr[i];
        if (sum < k)
            count++;

    }
    printf("%d", count);
    return 0;
}

7-5 数组-吹泡泡

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
#define pai 3.14
int main()
{
    int n = 0;
    scanf("%d", &n);
    double flag[1000] = { 0.0 };//记录泡泡的编号的数组
    double arr[1000] = { 0.0 };//收集体积的数组
    for (int i = 0; i < n; i++)
    {
        double x = 0;
        scanf("%lf", &x);
        arr[i] = 1.33 * pai * pow(x, 3);
        flag[i] = 1.33 * pai * pow(x, 3);
    }
    for (int i = 0; i < n - 1; i++)//冒泡排序,按照大到小排序泡泡体积
    {
        int j = 0;
        for (j = 0; j < n - i - 1; j++)
        {
            if (arr[j] < arr[j + 1])
            {
                double tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
    for (int i = 0; i < n; i++)
    {
        printf("%.2lf ", arr[i]);//输出体积
        for (int j = 0; j < n; j++)
        {
            if (flag[j] == arr[i])
            {
                  printf("%d\n", j + 1);//输出编号
                flag[j]=0.0;//置零是因为有相同的体积,编号会重复,所以置零
                break;
                
}
              
            
        }
        
    }
    return 0;
}

7-6 数组-数学鬼才

1.题目要求

在这里插入图片描述

2.代码实现

#include<stdio.h>
int main()
{
    int n = 0;
    scanf("%d", &n);
    long long sum=1;
    for (int i = 0; i < n; i++)
    {
        sum=1;
        long long x = 0;
        scanf("%lld", &x);
        if(x<2018)
        {
            for(long long j=2;j<=x;j++)
        {
            sum=(sum*j)%2018;
        }
           printf("%lld\n",sum);
    
    }
        else//大于2018的%2018都会是0,会超时,所以直接输出0即可
            printf("0\n");
            
}
        
    return 0;
}

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

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

相关文章

JavaWeb Day05 前后端请求响应与分层解耦

目录 一、请求与响应 &#xff08;一&#xff09;请求的参数接收 ①数组参数 ②集合参数 ③日期参数 ④json参数 ⑤路径参数 总结 &#xff08;二&#xff09;响应 ①简单文本text ②数组 ③列表 ④同一响应数据格式 ⑤总结 二、三层架构与分层解耦 &#xff0…

前端特殊字符转码

前端特殊字符转码 建议 最好不要传名称&#xff0c;传ID 是在不行就用这个方法 name encodeURIComponent(name),

医院检验信息管理系统源码 医院LIS系统源码 云LIS源码 区域LIS源码

医院检验信息管理系统源码 医院LIS系统源码 云LIS源码 区域LIS源码 医院检验信息管理系统&#xff0c;利用计算机网络技术、数据存储技术、快速处理技术&#xff0c;对检验科进行全方位信息化管理&#xff0c;使检验科达到自动化运行&#xff0c;信息化管理和无纸化办公的目的…

【C++】万字详解IO流(输入输出流+文件流+字符串流)

文章目录 一、标准输入输出流1.1提取符>>&#xff08;赋值给&#xff09;与插入符<<&#xff08;输出到&#xff09;理解cin >> a理解ifstream&#xff08;读&#xff09; >> a例子 1.2get系列函数get与getline函数细小但又重要的区别 1.3获取状态信息…

矩阵键盘独立接口设计(Keil+Proteus)

前言 实验&#xff1a;通过4*4的矩阵键盘&#xff0c;按下某个按钮之后会在数码管上面显示对应的键号。&#xff08;0~F&#xff09; 基础操作参考这篇博客&#xff1a; LED数码管的静态显示与动态显示&#xff08;KeilProteus&#xff09;-CSDN博客https://blog.csdn.net/w…

13 # 手写 concat 方法

concat 的使用 concat() 方法用于合并两个或多个数组。此方法不会更改现有数组&#xff0c;而是返回一个新数组。如果省略了所有参数&#xff0c;则 concat 会返回调用此方法的现存数组的一个浅拷贝。 <script>var arr1 ["k", "a", "i"…

Python tkinter库的Menu组件实现菜单栏、一级菜单、二级菜、三级菜单

在Python的Tkinter中&#xff0c;要显示菜单栏、一级菜单、二级菜、三级菜单&#xff0c;可以使用add_cascade方法将下一级菜单添加到上一级菜单中。 运行结果 下面是一个简单的示例&#xff1a; import tkinter as tkroot tk.Tk()# 创建菜单栏 menubar tk.Menu(root) root…

官方Redis视图化工具Redisinsight

一、下载最新版本的 docker pull redislabs/redisinsight mkdir /data/redisinsight docker run -d -u root -p 8001:8001 -v /etc/localtime:/etc/localtime -v /data/redisinsight:/db --restartunless-stopped redislabs/redisinsight:latest 二、浏览器打开 http://192…

C#解析XML并反序列化为Model的方法

虽然现在json大行其道&#xff0c;但是xml格式依旧占据着广阔的编程世界&#xff0c;不管光伏锂电激光卫星汽车等等工业领域&#xff0c;基本上都是以xml为主&#xff0c;广大的.NET开发人员有很多被xml折磨的都要转java了&#xff0c;这篇小作文就来玩一种迅速完成xml到model的…

DuiLib中常用各种RGB颜色对照表

【常识】常用RGB颜色对照表] 颜色样式***RGB*数值颜色代码颜色样式***RGB*数值颜色代码黑色0,0,0#000000白色255,255,255#FFFFFF象牙黑88,87,86#666666天蓝灰202,235,216#F0FFFF冷灰128,138,135#808A87灰色192,192,192#CCCCCC暖灰128,118,105#808069象牙灰251,255,242#FAFFF0石…

Vue 入门案例剖析

vscode 启用open with live server功能&#xff0c;配置谷歌浏览器chrome_小头猿的博客-CSDN博客 之所以使用vue就是想让其帮我们构建页面&#xff0c;构建出来了页面但是摆在那个位置呢&#xff1f;所以得准备好一个容器&#xff0c;最起码得有东西去承接这个界面。 控制台这…

红海云签约和兆服饰,科技引领服饰行业人力资源数字化转型

和兆服饰从事多品牌多品类经营管理&#xff0c;旗下拥有POLOSPORT、POLOKIDS、CARTELO等国际品牌。作为一个主打POLO文化的服饰品牌&#xff0c;诞生于美国的POLOSPORT拥有现代感的产品设计、系列化的产品搭配、全方位的服务&#xff0c;是最具美国马球精神的休闲时尚服饰品牌之…

暖通空调系统使用Modbus转Profinet网关应用配置案例

PLC通过兴达易控Modbus转Profinet网关&#xff08;XD-MDPN100)控制暖通空调的温度、湿度。作为控PLC可以通过Modbus传输到Profinet网关&#xff0c;与空调系统的压缩机进行通信&#xff0c;从而准确控制单元的加热、加湿、冷却和减湿。PLC可以实时监控和调整空调系统的运行状态…

给VSCode插上一双AI的翅膀

#AI编程助手哪家好&#xff1f;DevChat“真”好用# 文章目录 前言一、安装DevChat1.1、访问地址1.2、注册1.3、在VSCode里安装DevChat插件1.3.1、未安装状态1.3.2、已安装状态 二、设置Access Key2.1. 点击左下角管理&#xff08;“齿轮”图标&#xff09;—命令面板&#xff…

mac 卸载第三方输入法

输入法设置里的移除&#xff0c;并不是真的卸载&#xff0c;点击还是能添加回来 在活动监视器里强制退出此输入法在访达界面使用快捷键 ShiftcommandG在弹出的对话框内输入以下路径&#xff08;/资源库/Input Methods&#xff09;&#xff0c;再点击下面的前往找到你要卸载的输…

【深度神经网络(DNN)】实现车牌识别

文章目录 前言一、数据集介绍二、步骤1.导包2.参数配置3.数据处理4.模型定义5.模型训练6.模型预测 总结 前言 课内实践作业 车牌识别 一、数据集介绍 1.车牌识别数据集&#xff1a;VehicleLicense车牌识别数据集包含16151张单字符数据&#xff0c;所有的单字符均为严格切割且…

【网络协议】聊聊HTTPDNS如何工作的

传统 DNS 存在哪些问题&#xff1f; 域名缓存问题 我们知道CND会进行域名解析&#xff0c;但是由于本地会进行缓存对应的域名-ip地址&#xff0c;所以可能出现过期数据的情况。 域名转发问题 出口 NAT 问题 域名更新问题 解析延迟问题 因为在解析DNS的时候&#xff0c;需要进行…

MySQL:锁机制

目录 概述三种层级的锁锁相关的 SQLMyISAM引擎下的锁InnoDB引擎下的锁InnoDB下的表锁和行锁InnoDB下的共享锁和排他锁InnoDB下的意向锁InnoDB下的记录锁&#xff0c;间隙锁&#xff0c;临键锁记录锁&#xff08;Record Locks&#xff09;间隙锁&#xff08;Gap Locks&#xff0…

IDEA Plugin插件开发相关踩坑

1 前言 最近在研究IDEA插件开发&#xff0c;踩了不少坑&#xff0c;特意在这里记录一下…… 2 Java相关类找不到 照着网上一些资料&#xff0c;想要实现代码审计自动提示功能&#xff0c;需要继承AbstractBaseJavaLocalInspectionTool 结果import一片爆红&#xff0c;找不到相…