【C基础刷题】第九讲

news2025/1/21 18:48:59

本系列博客为个人刷题思路分享,有需要借鉴即可。

1.目录大纲:
在这里插入图片描述

2.题目链接:

  1. 统计成绩 00:00:00⸺00:09:00题号:BC33 链接:https://www.nowcoder.com/practice/
    cad8d946adf64ab3b17a555d68dc0bba?tpId=290&tqId=39821&ru=/exam/oj
  2. 密码验证 00:09:00⸺00:15:11题号:(⽆)链接:https://www.nowcoder.com/question
    Terminal/df51b60733c94e6fbb0b18fbbf45d76a
  3. 矩阵计算 00:15:11⸺00:20:30题号:BC132 链接:nowcoder.com/practice/0c83231923
    c541d2aa15861571831ee5?tpId=290&tqId=39920&ru=/exam/oj
  4. 逆序输出 00:20:30⸺00:24:50 题号:BC117 链接:https://www.nowcoder.com/practic
    e/bb66c27cb7aa48f9ba7d9f88e4068285?tpId=290&tqId=39905&ru=/exam/oj
  5. 统计数据正负个数 00:24:50⸺00:29:35题号:BC62 链接:https://www.nowcoder.com/
    practice/3f33889582934a09b4e3ddd3cc976226?tpId=290&tqId=39850&ru=/exam/oj
  6. N个数之和 没讲 题号:BC118 链接:https://www.nowcoder.com/practice/b007744eb43b4f7b9
    5d9e87de01528db?tpId=290&tqId=39906&ru=/exam/oj
  7. 最低分和最⾼分之差 00:30:11⸺00:34:25题号:BC119 链接:https://www.nowcoder.co
    m/practice/e0e4f81dcd55408a8973f8033bbeb1d2?tpId=290&tqId=39907&ru=/exam/oj
  8. 有序序列判断 00:34:25⸺00 :44:50题号:BC122 链接:https://www.nowcoder.com/pra
    ctice/22e87f8a8d764a6582710f38d1b40c6e?tpId=290&tqId=39910&ru=/exam/oj
  9. 序列中删除指定数字 00:44:50⸺01:00:05 题号:BC124 链接:https://www.nowcoder.co
    m/practice/7bbcdd2177a445a9b66da79512b32dd7?tpId=290&tqId=39912&ru=/exam/oj
  10. 序列整数去重 01:00:05⸺01:17:50题号:BC125 链接:https://www.nowcoder.com/pr
    actice/6564a2f6e70f4153ad1ffd58b2b28490?tpId=290&tqId=39913&ru=/exam/oj
  11. 有序序列合并:01:17:50⸺01:34:55 题号:BC121 链接:https://www.nowcoder.com/p
    ractice/a9e943b0dab142759807d0cfb6863897?tpId=290&tqId=39909&ru=/exam/oj

3.详解思路:

T1:
在这里插入图片描述

#include <stdio.h>

int main()
{
    int n = 0;
    scanf("%d",&n);
    double min = 100;
    double max = 0;
    double average = 0;
    double sum = 0;
    double x = 0;
    for(int i = 0;i<n;i++)
    {
        scanf("%lf",&x);
        if(x>max)
        max = x;
        if(x<min)
        min = x;
        sum+=x;
    }
    average = sum/n;
    printf("%.2lf %.2lf %.2lf\n",max,min,average);
    return 0;
}

T2:
在这里插入图片描述

#include <stdio.h>
#include<string.h>

int main() {
    char ch1[20] = {0};
    char ch2[20] = {0};
    //读取
    scanf("%s",ch1);
    scanf("%s",ch2);
    //比较
    if(strcmp(ch1,ch2)==0)
    {
        printf("same\n");
    }
    else {
    {
        printf("different\n");
    }
    }
    return 0;
}

T3:
在这里插入图片描述

#include <stdio.h>

int main() {
    int n = 0;
    int m = 0;
    scanf("%d %d",&n,&m);
    int i = 0;
    int sum = 0;
    int data = 0;
    //读入数据
    for(i = 0;i<n*m;i++)
    {
        scanf("%d",&data);
        if(data>=0)
        {
            sum+=data;
        }
    }
    printf("%d\n",sum);
    return 0;
}

T4:
在这里插入图片描述

#include <stdio.h>

int main() {
    int i = 0;
    int arr[10] = {0};
    //读入
    for(i = 0;i<10;i++)
    {
        scanf("%d",&arr[i]);    
    }
    //输出
    for(i = 0;i<10;i++)
    {
        printf("%d ",arr[10-i-1]);
    }

    return 0;
}

T5:
在这里插入图片描述

#include <stdio.h>

int main() 
{
    int arr[10] = {0};
    int i = 0;
    int p = 0;
    int n = 0;
    for(i = 0;i<10;i++)
    {
    scanf("%d",&arr[i]);
    if(arr[i]>0)
    p++;
    else
    n++;;
    }
    printf("positive:%d\nnegative:%d\n",p,n);
    return 0;
}

T6:
在这里插入图片描述

#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d",&n);
    int i = 0;
    int data = 0;
    int sum = 0;
    for(i = 0;i<n;i++)
    {
        scanf("%d",&data);
        sum+=data;               
    }
    printf("%d\n",sum);
    return 0;
}

T7:
在这里插入图片描述

#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d",&n);
    int max = 0;
    int min = 100;
    int data = 0;
    //读入
    int i = 0;
    for(i = 0;i<n;i++)
    {
        scanf("%d",&data);
        if(data>max)
        max = data;
        if(data<min)
        min = data;        
    }
    printf("%d\n",max-min);
    return 0;
}

T8:
在这里插入图片描述

#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d",&n);

    int arr[50] = {0};
    int on = 0;//升序标识符
    int under = 0;//降序标识符
    
    int i = 0;
    for(i = 0;i<n;i++)
    {
        scanf("%d",&arr[i]);

        if(i>0)
        {
            if(arr[i]>arr[i-1])
            on = 1;
            else if(arr[i]<arr[i-1])
            under = 1;
        }
    }
    //if on+under>1 乱序
    //if on+under ==1 升序/降序
    if(on+under>1)
    printf("unsorted\n");
    else
     {
        printf("sorted\n");
     };    
    return 0;
}

T9:
在这里插入图片描述

#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d",&n);
    //读入数据
    int i = 0;
    int arr[50] = {0};
    for(i = 0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    int m = 0;
    scanf("%d",&m);
    int count = n;//计数器
    //遍历数组
    for(i = 0;i<count;i++)
    {
        //遍历数组找到了要删除的数据
        if(m==arr[i])
        {
            //删除数据(后面的数据往前挪动一位)
            int j = 0;
            for(j = i+1;j<n;j++)
            {
                arr[j-1] = arr[j];
            }
            i--;
            count--;
        }
    }
        //打印
        for(i = 0;i<count;i++)
        {
            printf("%d ",arr[i]);
        }
    
    return 0;
}

T10:
在这里插入图片描述

#include <stdio.h>

int main() {
    int n = 0;
    scanf("%d",&n);
    int arr[n];
    //读取数据
    int i = 0;
    for(i = 0;i<n;i++)
    {
        scanf("%d",&arr[i]);
    }
    //去重
    
    for(i = 0;i<n;i++)
    {
        int j = 0;
        for(j = i+1;j<n;j++)
        {
            if(arr[i]==arr[j])
            {
                //挪动数据
                int k = 0;
                for(k = j+1;k<n;k++)
                {
                     arr[k-1] = arr[k];
                }
                n--;//防止遗漏
                j--;//计数
            }

        }
    }
        for(i = 0;i<n;i++)
        {
            printf("%d ",arr[i]);
        }
    
    return 0;
}

T11:
在这里插入图片描述

//思路1:存入数据,之后排序
#include<stdio.h>
int main()
{
    int n, m;
    scanf("%d %d\n", &n, &m);
    int i, j, arr[2000];
    int tmp;
    //读入两个数组的数据
    for (i = 0; i < n; i++)
    {
        scanf("%d ", &arr[i]);
    }
    for (i = n; i < n + m; i++)
    {
        scanf("%d ", &arr[i]);
    }
    //排序
    for (i = 0; i < n + m; i++)
    {
        for (j = 0; j < n + m - i - 1; j++)
        {
            if (arr[j] > arr[j + 1])
            {
                tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
    //打印
    for (i = 0; i < n + m; i++)
    {
        printf("%d ", arr[i]);
    }
}
//思路2:选择性放入一个新的数组
#include<stdio.h>
int main() {
    int n = 0;
    int m = 0;
    scanf("%d %d", &n, &m);
    int arr1[n];
    int arr2[m];
    int arr[n + m];

    //读入数据
    int i = 0;
    for (i = 0; i < n; i++) {
        scanf("%d", &arr1[i]);
    }
    for (i = 0; i < m; i++) {
        scanf("%d", &arr2[i]);
    }
    //选择性放入
    int j = 0;
    int k = 0;
    i = 0;
    while (j < n && k < m) {
        
        if (arr1[j] < arr2[k]) 
        {
            arr[i++] = arr1[j];
            j++;
        } 
        else 
        {
            arr[i++] = arr2[k];
            k++;
        }
    }
    if(j==n)
    {
        while(k!=m)
        arr[i++] = arr2[k++];
    }
    if(k==m)
    {
        while(j!=n)
        {
            arr[i++] = arr1[j++];
        }
    }

    i = 0;
    for(i = 0;i<m+n;i++)
    {
        printf("%d ",arr[i]);
    }

}

完。

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

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

相关文章

【VTKExamples::PolyData】第二十七期 KochanekSpline

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例KochanekSpline & KochanekSplineDemo,并解析接口vtkParametricSpline & vtkParametricFunctionSource,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,…

过河卒(洛谷)

题目 原题 题目描述 棋盘上 A A A 点有一个过河卒&#xff0c;需要走到目标 B B B 点。卒行走的规则&#xff1a;可以向下、或者向右。同时在棋盘上 C C C 点有一个对方的马&#xff0c;该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。…

响应式编程三流处理

响应式编程三流处理 组合响应式流concatmergezipcombineLatest flatMap、concatMap、flatMapSequebtial操作符flatMapconcatMapflatMapSequential 元素采样sample 和sampleTimeout 流的批处理bufferwindow操作符group by将响应式流转化为阻塞结构在序列处理时查看元素物化和非物…

使用Python+OpenCV2进行图片中的文字分割(支持竖版)

扣字和分割 把图片中的文字&#xff0c;识别出来&#xff0c;并将每个字的图片抠出来&#xff1b; import cv2 import numpy as npHIOG 50 VIOG 3 Position []水平投影 def getHProjection(image):hProjection np.zeros(image.shape,np.uint8)# 获取图像大小(h,w)image.sh…

【Langchain Agent研究】SalesGPT项目介绍(三)

【Langchain Agent研究】SalesGPT项目介绍&#xff08;二&#xff09;-CSDN博客 上节课&#xff0c;我们介绍了salesGPT项目的初步的整体结构&#xff0c;poetry脚手架工具和里面的run.py。在run.py这个运行文件里&#xff0c;引用的最主要的类就是SalesGPT类&#xff0c;今天我…

DS Wannabe之5-AM Project: DS 30day int prep day14

Q1. What is Autoencoder? 自编码器是什么&#xff1f; 自编码器是一种特殊类型的神经网络&#xff0c;它通过无监督学习尝试复现其输入数据。它通常包含两部分&#xff1a;编码器和解码器。编码器压缩输入数据成为一个低维度的中间表示&#xff0c;解码器则从这个中间表示重…

P1164 小A点菜题解

题目 uim拿到了uoi的镭牌后&#xff0c;立刻拉着基友小A到了一家餐馆&#xff0c;很低端的那种。uim指着墙上的价目表&#xff08;太低级了没有菜单&#xff09;&#xff0c;说&#xff1a;“随便点”。 不过uim由于买了一些书&#xff0c;口袋里只剩M元(M≤10000)。 餐馆虽…

算法村目录

大家好我是苏麟 , 这是算法村使用目录 . 算法通关村 从链表到动态规划的实战 目录 算法村开篇第一关 了解链表第二关 链表专题第三关 数组专题第四关 栈专题第五关 队列专题第六关 树专题第七关 二叉树遍历专题第八关 二叉树专题第九关 二分查找与二叉树专题第十关 快速排序与归…

Java学习18-- Override方法重写【★】

重点&#xff1a;super类 & 方法重写 ★看不明白多看几遍&#xff0c;记住static优先级>>高于override 重写Override methods★ 重写Override&#xff1a;child class可以覆盖father class中的method&#xff0c;即子类child class和父类father class有相同名称、…

extern 使用头文件

画红线的那个 很重要 详细解释之后写 全局变量定义在头文件&#xff0c;然后如果很多c文件通过include包含这个头文件&#xff0c;那么因为include是在预编译阶段&#xff0c;直接把这个头文件里面的东西解出来&#xff0c;然后插入在这个c文件&#xff0c;那么如果有很多个c文…

mysql数据库concat指定连接符号

SELECT CONCAT_WS(;;;, 你好,华为) FROM DUAL;

【算法随想录01】环形链表

题目&#xff1a;141. 环形链表 难度&#xff1a;EASY 代码 哈希表遍历求解&#xff0c;表中存储的是元素地址。 时间复杂度 O ( N ) O(N) O(N)&#xff0c;空间复杂度 O ( N ) O(N) O(N) /*** Definition for singly-linked list.* struct ListNode {* int val;* …

iTop-4412 裸机程序(十九)- 按键中断

目录 0.源码1.异常向量表1.1 原理1.2 异常种类1.3 ARMv7 规定的异常向量表 2. 中断2.1 iTop-4412 中使用的中断相关寄存器 上篇博文介绍了按键的轮询处理方式&#xff0c;本篇介绍按键的中断方式。 0.源码 GitHub&#xff1a;https://github.com/Kilento/4412NoOS 1.异常向量…

《Java 简易速速上手小册》第4章:Java 中的异常处理(2024 最新版)

文章目录 4.1 异常类型和错误 - 遇见你的小怪兽4.1.1 基础知识4.1.2 重点案例&#xff1a;文件读取处理4.1.3 拓展案例 1&#xff1a;处理空指针异常4.1.4 拓展案例 2&#xff1a;捕获多个异常 4.2 异常处理机制 - 穿上你的超级英雄斗篷4.2.1 基础知识4.2.2 重点案例&#xff1…

SpringCloud-Feign:负载均衡(基于服务端)

7.Feign&#xff1a;负载均衡(基于服务端) 7.1 Feign简介 Feign是一个开源的声明式HTTP客户端&#xff0c;它可以简化HTTP API的调用过程。Feign的设计目标是使得使用者可以像调用本地方法一样调用远程服务&#xff0c;使得编写和维护HTTP客户端变得更加简单。类似controller…

2016-2022年哨兵影像的在线底图

有一个欧洲初创公司对哨兵影像进行了去云处理&#xff0c;制作了一个2016年-2022年的全球哨兵底图。目前底图通过wmts发布&#xff0c;可免费使用&#xff0c;无需搭梯子。 该数据的特点是&#xff1a; 很少的云覆盖&#xff0c;较少的条纹&#xff0c;色彩平衡 底图切片的网…

推荐高端资源素材图库下载平台整站源码

推荐高端图库素材下载站的响应式模板和完整的整站源码&#xff0c;适用于娱乐网资源网。该模板支持移动端&#xff0c;并集成了支付宝接口。 演示地 址 &#xff1a; runruncode.com/tupiao/19692.html 页面设计精美&#xff0c;不亚于大型网站的美工水准&#xff0c;并且用户…

如何对研究成果进行有效的专利布局

一、背景 研究成果通常是研究者、学者或创新者智力劳动的产物&#xff0c;如专利技术、设计、算法、新药物、研究方法等。通过专利申请、版权法、商标法、商业秘密等方式对其进行法律保护&#xff0c;确保研究者拥有对其成果的专有权&#xff0c;可以独享经济利益和控制权。 …

[LeetCode周赛复盘] 第 384 场周赛20240211

[LeetCode周赛复盘] 第 384 场周赛20240211 一、本周周赛总结100230. 修改矩阵1. 题目描述2. 思路分析3. 代码实现 100219. 回文字符串的最大数量1. 题目描述2. 思路分析3. 代码实现 100198. 匹配模式数组的子数组数目 II1. 题目描述2. 思路分析3. 代码实现 参考链接 一、本周…

GPT4:你是故意的吧!

请问下面选项中哪个是中文&#xff1f; A.Chinese B.英文 这是一个关于语言识别的问题。我们需要分析并确定所给选项中哪个表示中文。 对于选项A.Chinese&#xff1a;这个词本身表示“中文”或“中国的”。在多种语境中&#xff0c;它经常被用来指代中国的语言&#xff0c;即中…