C语言-第十六周做题总结

id:374 A.求最大值及其下标

题目描述

本题要求编写程序,找出给定的n个数中的最大值及其对应的最小下标(下标从0开始)。

输入

输入在第一行中给出一个正整数n(1<n≤10)。第二行输入n个整数,用空格分开。

输出

在一行中输出最大值及最大值的最小下标,中间用一个空格分开。

输入样例

在这里插入图片描述

输出样例

在这里插入图片描述

题解

  • 首先用for循环将n个整数赋值给数组
  • 然后将最大值及其最小的下标分别赋值给数组的第一个变量和0
  • 接着再用一个for循环,找出最大值及其最小下标
  • 找出最大值及其最小下标的方法是一个if判断语句
  • 最后输出

代码

#include <stdio.h>
#include <stdlib.h>
# define MAX 11int main(int argc, char *argv[])
{int n, a[MAX], i, max, j, x;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%d", &a[i]);}max = a[0];x = 0;for (j = 1; j < n; j++){if (max < a[j]){max = a[j];x = j;}}printf("%d %d", max, x);return 0;
}

id:376 B.简化的插入排序

题目描述

本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

输入

输入在第一行先给出非负整数N(<=10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

输出

输入在第一行先给出非负整数N(<=10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

输出样例

在这里插入图片描述

输出样例

在这里插入图片描述

题解

  • 首先用一个for循环输入N个从小到大排序好顺序的整数,然后输入整数X
  • 然后用一个for循环及其一个if条件判断语句判断X应该插入的位置,即判断大小
  • 第一种情况,如果X应该排在这些整数的中间,则用一个for循环,先将应在X之后的数字全部往后移一位,应从最后一位开始移,空出来的位置则插入X,然后break,结束循环
  • 第二种情况,如果X应该排在第一位,则马上输出X的值,然后用一个for循环,将数组全部输出,然后return 0;结束整个函数
  • 第三种情况,X应该排在最后一位…
  • 在第一种情况下,下一步是再用一个for循环,将整个数组全部输出,然后结束整个函数

代码

#include <stdio.h>
#include <stdlib.h>
# define MAX 11int main(int argc, char *argv[]) 
{int N, X, a[MAX], i, j, k, y, z;scanf("%d", &N);for (i = 0; i < N; i++){scanf("%d", &a[i]);}scanf("%d", &X);for (y = 0; y < N; y++){if (X >= a[y] && X <= a[y + 1]){for (j = N; j > y + 1; j--){a[j] = a[j - 1];}a[y + 1] = X;break;}else if (X < a[y]){printf("%d ", X);for (k = 0; k < N; k++){printf("%d ", a[k]);}return 0;}}for (k = 0; k <= N; k++){printf("%d ", a[k]);}return 0;
}

id:471 C.交换最小值和最大值

题目描述

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。

注意:题目保证最大和最小值都是唯一的。

输入

输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。

输出

在一行中顺序输出交换后的序列,每个整数后跟一个空格。

输入样例

在这里插入图片描述

输出样例

在这里插入图片描述

题解

  • 首先用一个for循环将N个整数赋值给数组
  • 然后用一个for循环和一个if条件判断语句遍历整个数组找出最小值,然后将最小值与第一个数交换
  • 同理,接着找出最大值,然后交换
  • 最后,输出y交换完后的整个数组

代码

#include <stdio.h>
#include <stdlib.h>
# define MAX 11int main(int argc, char *argv[])
{int N, a[MAX], i, min, max, j, x, y, z, t, s, g;scanf("%d", &N);x = 0;y = 0;for (i = 0; i < N; i++){scanf("%d", &a[i]);}min = a[0];for (j = 1; j < N; j++){if (min > a[j]){min = a[j];y = j;}}z = a[0];a[0] = min;a[y] = z;max = a[0];for (g = 1; g < N; g++){if (max < a[g]){max = a[g];x = g;}}t = a[N - 1];a[N - 1] = max;a[x] = t;for (s = 0; s < N; s++){printf("%d ", a[s]);}return 0;
}

id:467 D.求整数序列中出现次数最多的数

题目描述

本题要求统计一个整型序列中出现次数最多的整数及其出现次数。

输入

输入在一行中给出序列中整数个数N(0<N≤1000),以及N个整数。数字间以空格分隔。

输出

在一行中输出出现次数最多的整数及其出现次数,数字间以空格分隔。题目保证这样的数字是唯一的。

输入样例

在这里插入图片描述

输出样例

在这里插入图片描述

题解

  • 首先用一个for循环输入N个整数
  • 然后用一个for循环遍历整个数组,再嵌套一个for循环也是遍历整个数组,这个循环的目的是找出在这个数组中是否有与之相同的数,若有,则计数器加一,并另取一个变量储存这个计数器的值,目的是,若下次计数器的值大于这个变量,则更新这个变量的值,这个变量的值就是出现这个数次数最多的次数,且要另取一个变量储存这个出现次数最多的整数;在第二个循环完成后都要重新赋0值给计数器,便于下次计数
  • 最后输出

代码

#include <stdio.h>
#include <stdlib.h>
# define MAX 1001int main(int argc, char *argv[])
{int N, a[MAX], i, j, k, count, x, y;scanf("%d", &N);x = 0;count = 0;for (i = 0; i < N; i++){scanf("%d", &a[i]);}for (j = 0; j < N; j++){for (k = 0; k < N; k++){if (a[j] == a[k]){count++;if (count > x){x = count;y = a[j];}}}count = 0;}printf("%d %d", y, x);return 0;
}

id:468 E.找出不是两个数组共有的元素

题目描述

给定两个整型数组,本题要求找出不是两者共有的元素。

输入

输入分别在两行中给出两个整型数组,每行先给出正整数N(≤20),随后是N个整数,其间以空格分隔。

输出

在一行中按照数字给出的顺序输出不是两数组共有的元素,数字间以空格分隔,但行末不得有多余的空格。题目保证至少存在一个这样的数字。同一数字不重复输出。

输入样例

在这里插入图片描述

输出样例

在这里插入图片描述

题解

  • 首先输入两个数组的值
  • 然后先判断在第一个数组出现的数在第二个数组中是否出现,然后另有一个数组用来记录已经输出过的值,接着判断这个值是否已经被输出过,若都没有则按照是不是一个输出的值来输出
  • 同样的方法判断在第二个数组中出现的数是否在第一个数组中出现过

代码

#include <stdio.h>
#include <stdlib.h>
# define M 21
# define N 21int main(int argc, char *argv[])
{int m, n, a[M], b[N], i, j, k, x, y, z, printed[M+N];scanf("%d", &m);y = 0;z = 0;for (i = 0; i < m; i++){scanf("%d", &a[i]);}scanf("%d", &n);for (j = 0; j < n; j++){scanf("%d", &b[j]);}for (k = 0; k < m; k++){for (x = 0; x < n; x++){if (a[k] == b[x]){y = 1;break;}}for (x = 0; x < z; x++){if (a[k] == printed[x]){y = 1;break;}}if (y == 0){if (z == 0){printf("%d", a[k]);}else{printf(" %d", a[k]);}printed[z++] = a[k];}y = 0;}for (k = 0; k < n; k++){for (x = 0; x < m; x++){if (b[k] == a[x]){y = 1;break;}}for (x = 0; x < z; x++){if (b[k] == printed[x]){y = 1;break;}}if (y == 0){printf(" %d", b[k]);printed[z++] = b[k];}y = 0;}return 0;
}

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

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

相关文章

C++ 获取位域成员的位宽

C 中可以使用位域来节省内存&#xff0c;实现不同长度的数据的存放&#xff0c;例如&#xff1a; struct BF {uint32_t a1 : 4;uint32_t a2 : 5;uint32_t a3 : 6; } bf;结构体变量 bf 大小为 2 Byte&#xff0c;其成员变量 a1, a2, a3 分别占 4&#xff0c; 5&#xff0c; 6 位…

ApsaraMQ Serverless 演进之路,助力企业降本

作者&#xff1a;家泽 ApsaraMQ 与时俱进&#xff0c;砥砺前行 阿里云消息队列从诞生开始&#xff0c;至今已有十余年。今年&#xff0c;阿里云消息产品全面品牌升级为 ApsaraMQ&#xff0c;与时俱进&#xff0c;砥砺前行。 2012 年&#xff0c;RocketMQ 诞生于集团内部&…

测试理论知识八:敏捷开发测试、极限编程测试

1. 敏捷开发模式下的测试 敏捷开发的核心理念&#xff1a; 个体和互动高于流程和工具。 工作的软件高于详尽的文档。 客户合作高于合同谈判。 响应变化高于遵循计划。 2. 敏捷开发的特征 敏捷开发提倡迭代式和增量式的开发模式&#xff0c;并强调测试在其中的重要作用。这…

【Linux系统基础】(4)在Linux上部署Tomcat、Nginx软件

Tomcat安装部署【简单】 简介 Tomcat 是由 Apache 开发的一个 Servlet 容器&#xff0c;实现了对 Servlet 和 JSP 的支持&#xff0c;并提供了作为Web服务器的一些特有功能&#xff0c;如Tomcat管理和控制平台、安全域管理和Tomcat阀等。 简单来说&#xff0c;Tomcat是一个W…

锐捷ssh配置

配置实例 ssh-Server ssh-Server(config)#enable service ssh-server // 启用ssh服务 ssh-Server(config)#username admin privilege 15 password Test123456 // 设置ssh登陆的账户密码 ssh-Server(config)#line vty 0 4 ssh-Server(config-line)#transport input ssh …

线性回归简介

线性回归简介 1、情景描述2、线性回归 1、情景描述 假设&#xff0c;我们现在有这么一张图&#xff1a; 其中&#xff0c;横坐标x表示房子的面积&#xff0c;纵坐标y表示房价。我们猜想x与y之间存在线性关系&#xff1a; y k x b ykxb ykxb 现在&#xff0c;思考一个问题&…

Java final、finally、finalize 有什么区别?

Java final、finally、finalize 有什么区别&#xff1f; final、finally 和 finalize 是 Java 中三个完全不同的概念&#xff0c;分别用于修饰变量、定义异常处理块和垃圾回收。 final&#xff1a; final 是一个关键字&#xff0c;用于修饰类、方法、变量等。被 final 修饰的…

安徽省人民政府关于印发《打造通用人工智能产业创新和应用高地若干政策》通知

安徽省人民政府关于印发《打造通用人工智能产业创新和应用高地若干政策》通知 原文地址 各市、县人民政府&#xff0c;省政府各部门、各直属机构&#xff1a; 现将《打造通用人工智能产业创新和应用高地若干政策》印发给你们&#xff0c;请认真贯彻落实。 安徽省人民政府 2…

纯HTML代码实现给图片增加水印并下载保存到本地

<!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1, maximum-scale1, user-scalableno"/><title>图片水印打码工具-宋佳乐博客</tit…

计算机图形学理论(3):着色器编程

本系列根据国外一个图形小哥的讲解为本&#xff0c;整合互联网的一些资料&#xff0c;结合自己的一些理解。 CPU vs GPU CPU支持&#xff1a; 快速缓存分支适应性高性能 GPU支持&#xff1a; 多个 ALU快速板载内存并行任务的高吞吐量&#xff08;在每个片段、顶点上执行着色…

nn.Embedding()个人记录

维度 import torch.nn as nnembedding nn.Embedding(num_embeddings 10, embedding_dim 256) nn.Embedding()随机产生一个权重矩阵weight&#xff0c;维度为&#xff08;num_embeddings, embedding_dim&#xff09; 输入维度&#xff08;batch_size, Seq_len&#xff09…

winlogbeat收集Windows事件日志传给ELK

服务器部署winlogbeat后&#xff0c;修改winlogbeat.yml: ###################### Winlogbeat Configuration Example ######################### This file is an example configuration file highlighting only the most common # options. The winlogbeat.reference.yml fi…

基于Java+SpringBoot+MyBatis-plus+Vue前后端分离小区管理系统设计与实现2.0

博主介绍&#xff1a;✌全网粉丝5W&#xff0c;全栈开发工程师&#xff0c;从事多年软件开发&#xff0c;在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战&#xff0c;博主也曾写过优秀论文&#xff0c;查重率极低&#xff0c;在这方面有丰富的经验…

力扣日记12.24-【二叉树篇】236. 二叉树的最近公共祖先

力扣日记&#xff1a;【二叉树篇】236. 二叉树的最近公共祖先 日期&#xff1a;2023.12.24 参考&#xff1a;代码随想录、力扣 ps&#xff1a;提前祝 平安夜快乐&#xff01; 236. 二叉树的最近公共祖先 题目描述 难度&#xff1a;中等 给定一个二叉树, 找到该树中两个指定节点…

linux线程取消, pthread线程取消,pthread_testcancel用法

pthread_cancel Linux中&#xff0c;线程在运行时如果想要取消&#xff0c;一种方法是调用pthread_cancel()函数&#xff0c;它的原型是&#xff1a; /* Cancel THREAD immediately or at the next possibility. */ extern int pthread_cancel (pthread_t __th); 参数pthre…

Python连接数据库

文章目录 一、安装mysql二、SQLyog可视化操作三、python实现数据库单表类封装1. config 文件——config.py2. 封装类&#xff08;model&#xff09;——model.py3. 测试文件——test.py 一、安装mysql 官网安装&#xff0c;或者Windows64位直接在我的资源里面上传了mysql&…

【PostgreSQL】从零开始:(二十七)数据类型-UUID 类型

UUID 类型 UUID&#xff08;通用唯一标识符&#xff09;是一个128位的数字标识符&#xff0c;用于在计算机系统中唯一地标识实体。它的标准格式为32个十六进制数字&#xff0c;用连字符分隔成五个组&#xff0c;形式如&#xff1a;8-4-4-4-12。UUID在各种系统和平台上广泛使用…

华为OD机试 - 测试用例执行计划(Java JS Python C)

题目描述 某个产品当前迭代周期内有 N 个特性(F1,F2,......FN)需要进行覆盖测试,每个特性都被评估了对应的优先级,特性使用其 ID 作为下标进行标识。 设计了 M 个测试用例(T1,T2,......,TM),每个测试用例对应一个覆盖特性的集合,测试用例使用其 ID 作为下标进行标识,…

C/C++ 基础函数

memcpy&#xff1a;C/C语言中的一个用于内存复制的函数&#xff0c;声明在 string.h 中&#xff08;C是 cstring&#xff09; void *memcpy(void *destin, void *source, unsigned n);作用是&#xff1a;以source指向的地址为起点&#xff0c;将连续的n个字节数据&#xff0c;…

Acwing 周赛135 题解

A&#xff1a;https://www.acwing.com/problem/content/5378/ 思路&#xff1a;签到题&#xff0c;输出n/x即可。 代码&#xff1a; #include<bits/stdc.h> using namespace std; #define rep(i,a,b) for(int i(a);i<(b);i) #define lop(i,a,b) for(int i(a);i<…