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

news2024/10/6 12:32:27

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

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

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

相关文章

基于工业无线DTU的空气污染监测防治方案

​秋冬季是我国大气污染天气的高发、频发期&#xff0c;也是大气污染防治的关键期、敏感期。针对空气质量的监测和防治&#xff0c;可以利用佰马工业无线DTU&#xff0c;搭建分布式大气传感器监测网络&#xff0c;实现对广域空气质量、成分、变化的实时监测&#xff0c;从而实现…

汽车工业生产线数字孪生可视化管理平台,赋予工厂车间数字化智慧化管理

在工业4.0 的时代背景下&#xff0c;随着企业数字化进程的推进&#xff0c;数字孪生可视化技术逐渐在汽车行业得到广泛应用&#xff0c;数字孪生智慧工厂的建设也成为了汽车行业数字化转型的趋势之一。汽车制造业属于典型的离散制造行业&#xff0c;汽车生产包含冲压、焊接、涂…

flutter显示出底部控件的引导页

需求&#xff1a;同一个页面的两个不同的入口&#xff0c;同一个控件的位置有变化&#xff0c;显示引导页时对应这个控件的引导内容的位置也需要改变&#xff1b;同时半透明底部显示出真实的页面内容。 这样的需要如果切图然后再往页面上贴位置无法精确的对准。 思路&#xff1…

xcode SDK does not contain ‘libarclite‘

SDK does not contain libarclite at the path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a; try increasing the minimum deployment target解决方法 iOS13以上

线性系统的激励和响应以及与系统特性的联系

线性系统的激励和响应以及与系统特性的联系 一、系统激励和响应的定义 一个线性系统可以用一个常系数线性微分方程来表示。比如&#xff0c;RC串联电路&#xff0c;电容器两端的电压 u c ( t ) u_c(t) uc​(t)所满足的关系式为&#xff1a; R C d u c d t u c e ( t ) RC\…

掌动智能信创测试服务内容是什么

掌动智能信创测试对软件厂商依据系列《产品适配认证技术规范》&#xff0c;开展数据库、中间件、应用软件等产品适配认证服务&#xff0c;验证其在信创环境下的功能、性能、安全性等,进一步提高产品质量的可信度。 掌动智能信创测试服务内容 1、软件产品选型测试&#xff1a;在…

LabVIEW如何才能得到共享变量的引用

LabVIEW如何才能得到共享变量的引用 有一个LabVIEW 库文件 (.lvlib) &#xff0c;其中有一些定义好的共享变量。但需要得到每个共享变量的引用以便在程序运行时访问其属性。 共享变量的属性定义在“变量”类属性节点中。为了访问变量类&#xff0c;共享变量的引用必须连接到变…

SQL必知会(二)-SQL查询篇(2)-排序检索数据

第3课、排序检索数据 排序数据 OEDER BY&#xff1a;排序 进行排序 1&#xff09;按单个列排序 需求&#xff1a; 以 prod_name 字段按照字母顺序排序 SELECT prod_name FROM Products ORDER BY prod_name; -- 以 prod_name 列按照字母顺序排序输出结果&#xff1a; 2&…

vpn概述总结

一、VPN背景 在Internet的传输中 绝大部分数据的内容都是明文传输的 存在很多安全隐患 如窃听 篡改 冒充 总部 分公司 办事处 出差人员 合作单位需要访问总部网络资源的问题 二&#xff0c;VPN定义&#xff08;Vitual Private Network&#xff0c;虚拟私有网&#xff09;&…

IP代理中的动态轮换住宅代理是什么?有何作用?

随着越来越多的企业完善网络活动&#xff0c;IP代理的重要性变得显而易见。代理可确保顺利、安全且不受限制地访问互联网的大量资源。在不同类型的代理中&#xff0c;轮换代理脱颖而出&#xff0c;那么他哪里有别于其他IP代理呢&#xff1f; 一、什么是动态轮换代理&#xff1f…

SMT:引领新时代公链赛道的龙头之选!

近年来&#xff0c;区块链技术的应用越来越广泛&#xff0c;而公链作为区块链技术的重要组成部分&#xff0c;也得到了越来越多的关注。SMT公链作为新兴的公链项目&#xff0c;正在吸引着越来越多的关注。 SMT平台由拥有丰富金融行业和区块链技术经验的专业团队运营&#xff0…

【数组】【快慢指针】Leetcode 27 移除元素

【数组】【快慢指针】Leetcode 27 移除元素 解法1 ---------------&#x1f388;&#x1f388;题目链接&#x1f388;&#x1f388;------------------- 解法1 时间复杂度O(N) 空间复杂度O(1) class Solution {public int removeElement(int[] nums, int val) {// 快慢指针…

2023年WebAssembly 现状

WebAssembly 2023的调查已经结束&#xff0c;结果揭晓……真的很吸引人&#xff01; 如果你想要简短的总结&#xff0c;这里有一些亮点&#xff1a; Rust 和 JavaScript 的使用仍在继续增加&#xff0c;但更值得注意的变化发生在下面—— Swift 和 Zig 的采纳率都有了显著的增长…

BigDecimal 类型的累加操作

BigDecimal 累加操作 .add操作

如何在Linux上搭建本地Docker Registry并实现远程连接

Linux 本地 Docker Registry本地镜像仓库远程连接 文章目录 Linux 本地 Docker Registry本地镜像仓库远程连接1. 部署Docker Registry2. 本地测试推送镜像3. Linux 安装cpolar4. 配置Docker Registry公网访问地址5. 公网远程推送Docker Registry6. 固定Docker Registry公网地址…

java数据结构(红黑树)set集合 HashSet HashSet三个问题 LinkedHashSetTreeSet TreeSet集合默认规则排序规则

目录 数据结构(红黑树)红黑规则红黑树添加结点规则 set集合小结HashSet HashSet三个问题LinkedHashSet小结 TreeSetTreeSet集合默认规则排序规则(第一种排序方法)方式二练习 小练 总结总结 集合的使用应该怎么选择 数据结构(红黑树) 红黑规则 后代节点就是比如13根结点 13下面的…

JavaSE基础语法

文章目录 概述发展历程版本环境安装main方法注释标识符关键字数据类型与变量四类八种基本类型常量变量概念定义 类型转换自动类型转换强制类型转换类型提升 字符串类型 运算符算数运算符增量运算符自增自减运算符关系运算符逻辑运算符逻辑与 &&逻辑或 ||逻辑非 !短路求…

can only concatenate list (not “range“) to list

在Python中&#xff0c;你不能直接将range对象与列表进行连接。range对象是数字序列&#xff0c;而列表是元素的序列。这两种类型的数据无法直接连接。 如果你想将一个range对象转化为列表&#xff0c;然后将其与另一个列表连接&#xff0c;你可以先将range对象转化为列表&…

Xshell如何下载文件到本地

法一&#xff1a;命令下载 1、连接到远程服务器并登录 2、使用cd命令进入要下载文件的目录 3、使用以下命令下载文件&#xff1a; scp usernameremote:/path/to/file /path/to/local/directoryusername 远程服务器的用户名 remote 远程服务器的IP地址或主机名 /path/to/file …

windows环境下PHP7.4多线程设置

windows环境下的PHP设置多线程时有一定的难度&#xff0c;难点主要是PHP版本的选择&#xff0c;多线程扩展的选择&#xff0c;以及相关的设置等。 环境 windows 10php-7.4.33-Win32-vc15-x64php_parallel-1.1.4-7.4-ts-vc15-x64phpstudy 8.1.1.2 为了快速的部署PHP环境&…