首页 > 其他分享 >E19.【C语言】练习:数组

E19.【C语言】练习:数组

时间:2024-07-26 10:56:01浏览次数:12  
标签:E19 int ++ C语言 序列 数组 printf 升序 1000

有序序列合并

描述

输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。

数据范围: 1≤n,m≤1000  , 序列中的值满足 0≤val≤30000

输入描述:

输入包含三行,
第一行包含两个正整数n, m,用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。
第二行包含n个整数,用空格分隔。
第三行包含m个整数,用空格分隔。

输出描述:

输出为一行,输出长度为n+m的升序序列,即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并

例如:

输入:5 6
           1 3 7 9 22
           2 8 10 17 33 44

输出:1 2 3 7 8 9 10 17 22 33 44

方法:遍历查找

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	int n = 0;
	int m = 0;
	int a[1000] = { 0 };// 1≤n,m≤1000 
	int b[1000] = { 0 };// 1≤n,m≤1000
	scanf("%d %d", &n, &m);
	for (int i = 0; i < n; i++)
	{
		scanf("%d ", &a[i]);
	}

	for (int i = 0; i < m; i++)
	{
		scanf("%d ", &b[i]);
	}
	int i= 0;
	int j = 0;
	while (i < n && j < m)
	{
		if (a[i] < b[j])
		{
			printf("%d ", a[i]);
			i++;
		}
		else
		{
			printf("%d ", b[j]);
			j++;
		}
	}
	
	while (i < n)
	{
		printf("%d ", a[i]);
		i++;
	}

	while (j < m)
	{
		printf("%d ", b[j]);
		j++;
	}
	return 0;
}

 

标签:E19,int,++,C语言,序列,数组,printf,升序,1000
From: https://blog.csdn.net/2401_85828611/article/details/140708169

相关文章

  • 34.【C语言之外】聊聊CE扫雷(XP版)作弊
    1.载入扫雷进程2.选9*9扫雷搜素左上角第一个雷的地址先:之后:与灵活切换  3.结果 格子的坐标(x,y):以下全是基址(1,1)~(9,1):对应01005361~01005369(1,2)~(9,2):对应01005381~01005389(1,3)~(9,3):对应010053A1~010053A9发现:01005381-01005361==010053A1-01005381=20(HEX),偏移量......
  • C语言day01
    C语言day01Linux终端窗口提示语句:hq@ubuntu:~$用户名间隔符主机名间隔符当前路径输入提示符间隔符一般都是一些符号,但也有少数符号不是间隔符,比如~表示当前路径特殊符号:~:家目录权限最高/:根目录-:上一次操作的路径.:当前目录..:上一级目录Linux命令......
  • 整理的比较全面的C语言入门笔记!
    c语音在线教程:54笨鸟C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课。......
  • c语言基础学习
    1.求1—1000的完数#include<stdio.h>#include<string.h>intmain(intargc,constchar*argv[]){ for(inti=1;i<1000;i++)//被模数 { intsum=0; for(intj=1;j<i;j++)//模数 { if(i%j==0)//求因子 { sum+=j;//因子和 } } if(s......
  • C语言:字符串函数族strlen,strcmp,C语言实现,
    1.字符串的复制:#include<stdio.h>#include<string.h>intmain(intargc,constchar*argv[]){ chararr[20]={0}; charbrr[20]={0}; intlen; inti; printf("请输入目标字符串arr:\n"); gets(arr); printf("请输入源字符串:\n"); gets(brr......
  • 如何在 Numpy Python 中将 4 维数组的下三角形复制到上三角形?
    目标是将下三角形复制到上三角形。根据OP中提出的建议,起草了以下代码。importnumpyasnplw_up_pair=np.tril_indices(4,-1)arr=np.zeros((4,4,1,1))arr[1,:1,:,0]=1arr[2,:2,0,0]=2arr[3,:3,0,0]=3arr=arr+arr.T-np.diag(np.diag(arr))但是,它......
  • 仅将 sympy Matrix 的上三角值从 numpy.triu() 复制到数组中?
    我有一个方阵A(可以是任何大小),我想获取上三角部分并将这些值放入一个数组中,而没有中心对角线下方的值(k=0)。A=sympy.Matrix([[4,0,3],[2,4,-2],[-2,-3,7]])使用A_upper=numpy.triu(A)让我A_Upper=sympy.M......
  • 树状数组!!!!!!!!
    发明这个的人真的变态啊!!!!!!!!!!一,概念树状数组是一种基于二进制思想的数据结构,基本用途是维护序列的前缀和。对于给定的序列a,设树状数组为c,则c[x]保存序列a的区间[x-lowbit(x)+1,x]中所有数的和二,lowbit()操作 作用:求一个数字二进制的第一个为1的位置和后面的0构成的数值 操......
  • 指针!!C语言(第二篇)
    目录一.数组名的理解二.一维数组传参的本质三.冒泡排序法四.二级指针与指针数组五.字符指针变量与数组指针一.数组名的理解在我们对指针有了初步的理解之外,今天我们来掌握一些新的知识就是数组与指针,第一个对数组名的了解,我们先来看一段代码:intmain(){ int......
  • C语言初阶(4)
    1.C语言中函数的定义在计算机科学中,子程序(英语:Subroutine,procedure,function,routine,method,subprogram,callableunit),是一个大型程序中的某部分代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。一般会有输入参数并有返......