【C基础刷题】第九讲

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

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++;elsen++;;}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.hqwc.cn/news/467265.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JVM篇】什么是双亲委派机制

文章目录 &#x1f354;什么是双亲委派机制⭐案例 &#x1f339;双亲委派机制有什么用 &#x1f354;什么是双亲委派机制 指的是&#xff1a;当一个类加载器接收到加载类的任务的时候&#xff0c;会向上查找是否加载过&#xff0c;再从上到下进行加载 &#xff08;因为要上下查…

蓝桥杯题目解析 --汉诺塔(含C++栈的知识)

该题在蓝桥杯基础数据结构篇&#xff0c;进入后搜索题号1512。 汉诺塔 可以将圆盘临时置于B杆&#xff0c;也可以将A杆移除的圆盘重新移回A杆&#xff0c;但必须遵循上述两条规则。 汉诺塔了解后&#xff0c;题目也了解后&#xff0c;我们先通过试N的个数来找规律&#xff1a;…

Linux--目录结构

目录 一、Linux的目录结构二、常用的目录介绍 一、Linux的目录结构 Linux的目录结构是一个树型结构。 Windos 系统可以拥有多个盘符&#xff0c;如C盘&#xff0c;D盘,E盘。 Linux 木有盘符这个概念&#xff0c;只有一个根目录 /&#xff08;相当于文件夹&#xff09;&#xf…

Java中抽象类和接口的区别

抽象类和接口都是 Java 中多态的常见使用方式. 都需要重点掌握. 同时又要认清两者的区别(重要!!! 常见面试题)。 核心区别: 抽象类中可以包含普通方法和普通字段, 这样的普通方法和字段可以被子类直接使用(不必重写而重写抽象方法), 而接口中不能包含普通方法&#xff08;接口…

使用Docker快速部署MySQL

部署MySQL 使用Docker安装&#xff0c;仅仅需要一步即可&#xff0c;在命令行输入下面的命令 docker run -d \--name mysql \-p 3306:3306 \-e TZAsia/Shanghai \-e MYSQL_ROOT_PASSWORD123456 \mysql MySQL安装完毕&#xff01;通过任意客户端工具即可连接到MySQL. 当我们执…

线性代数的本质 1 向量

向量是线性代数中最为基础的概念。 何为向量&#xff1f; 从物理上看&#xff0c; 向量就是既有大小又有方向的量&#xff0c;只要这两者一定&#xff0c;就可以在空间中随便移动。 从计算机应用的角度看&#xff0c;向量和列表很接近&#xff0c;可以用来描述某对象的几个不同…

HTTP 超文本传送协议

1 超文本传送协议 HTTP HTTP 是面向事务的 (transaction-oriented) 应用层协议。 使用 TCP 连接进行可靠的传送。 定义了浏览器与万维网服务器通信的格式和规则。 是万维网上能够可靠地交换文件&#xff08;包括文本、声音、图像等各种多媒体文件&#xff09;的重要基础。 H…

vue3中Pinia

一、pinia的简单使用 vuex和pinia的区别 参考网址&#xff1a;[Vuex] Vuex 5 by kiaking Pull Request #271 vuejs/rfcs GitHub 1.pinia没有mutations&#xff0c;只有&#xff1a;state、getters、actions 2.pinia分模块不需要models&#xff08;之前vuex分模块需要models…

LeetCode:67.二进制求和

67. 二进制求和 - 力扣&#xff08;LeetCode&#xff09; 又是一道求和题&#xff0c;% / 在求和的用途了解了些&#xff0c; 目录 题目&#xff1a; 思路分析&#xff1a; 博主代码: 官方代码&#xff1a; 每日表情包&#xff1a; 题目&#xff1a; 思路分析&#xf…

【电路笔记】-串联电感

串联电感 文章目录 串联电感1、概述2、电感串联示例13、互耦串联电感器4、电感串联示例25、电感串联示例36、总结当电感器以菊花链方式连接在一起并共享公共电流时,它们可以串联连接在一起。 1、概述 这些电感器的互连产生了更复杂的网络,其总电感是各个电感器的组合。 然而…

【Go】一、Go语言基本语法与常用方法容器

GO基础 Go语言是由Google于2006年开源的静态语言 1972&#xff1a;&#xff08;C语言&#xff09; — 1983&#xff08;C&#xff09;—1991&#xff08;python&#xff09;—1995&#xff08;java、PHP、js&#xff09;—2005&#xff08;amd双核技术 web端新技术飞速发展&…

软件23-上午题-树与二叉树2

一、平衡二叉树 平衡二叉树&#xff1a;是一棵空树或它的左右两个子树的高度差的绝对值不超过 1&#xff0c; 并且左右两个子树都是一棵平衡二叉树。 注意&#xff1a; 完全二叉树 平衡二叉树&#xff01;&#xff01;&#xff01; 二、二叉排序树&#xff08;二叉查找树、二…