1146: 零起点学算法53——数组中插入一个数

1146: 零起点学算法53——数组中插入一个数

Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
Submitted: 1749  Accepted: 613
[Submit][Status][Web Board]

Description

给定有序数组(从小到大),再给你一个数,要求插入该数到数组中并保持顺序

Input

多组测试,每组第一行输入一个整数n,然后是n个有序的整数
第二行输入1个整数m和1个整数K

Output

将整数m插入到原数组中保持顺序是升序,然后输出2行
第一行是插入以后的数组
第二行是插入以后的数组中下标值是K的数

n m k不超过20

Sample Input

3 1 2 5
3 1

Sample Output

1 2 3 5
2

Source

零起点学算法

 1 #include<stdio.h>
 2 int main(){
 3     int n,a[50],b[50];
 4     while(scanf("%d",&n)!=EOF){
 5         for(int i=0;i<n;i++){
 6             scanf("%d",&a[i]);
 7         }
 8
 9         int m,k,j=0;
10         scanf("%d%d",&m,&k);
11         for(int i=0;i<n;i++){
12             if(a[i]<m){
13                 b[j]=a[i];
14                 j++;
15             }
16             else break;
17         }
18         b[j]=m;
19         j++;
20         for(int i=j-1;i<n;i++){
21             b[j]=a[i];
22             j++;
23         }
24
25         for(int i=0;i<j-1;i++){
26             printf("%d ",b[i]);
27         }
28         printf("%d\n",b[j-1]);
29         printf("%d\n",b[k]);
30     }
31     return 0;
32 }
时间: 2024-10-26 19:47:04

1146: 零起点学算法53——数组中插入一个数的相关文章

Problem F: 零起点学算法85——数组中插入一个数

#include<stdio.h> int main() { int n,a[50],b[50]; while(scanf("%d",&n)!=EOF) { for(int i=0;i<n;i++) { scanf("%d",&a[i]); } int m,k,j=0; scanf("%d%d",&m,&k); for(int i=0;i<n;i++) { if(a[i]<m) { b

1143: 零起点学算法50——数组中查找数

1143: 零起点学算法50--数组中查找数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1910  Accepted: 777[Submit][Status][Web Board] Description 在给定的数组中查找一个数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 查找在第一行的n个整数中第一次出现数字m的下标位置并

1144: 零起点学算法51——数组中删数

1144: 零起点学算法51--数组中删数 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 3304  Accepted: 933[Submit][Status][Web Board] Description 在给定的数组中删除一个数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 删除在第一行的n个整数中第一次出现数字m并删除,然后按

1145: 零起点学算法52——数组中删数II (有问题!)

1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 2935  Accepted: 793[Submit][Status][Web Board] Description 在给定的数组中删除数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 删除在第一行的n个整数中的数字m(多个的话都要删除),

Problem C: 零起点学算法82——数组中查找数

#include <stdio.h> int main(int argc, char *argv[]) {     int n,b,i,m,flag=0,a[20];     while(scanf("%d",&n)!=EOF){         for(i=0;i<n;i++){             scanf("%d",&a[i]);         }         scanf("%d",&m

武汉科技大学ACM :1003: 零起点学算法67——统计字母数字等个数

Problem Description 输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符) Input 多组测试数据,每行一组 Output 每组输出一行,分别是字母个数,数字个数,空格字数以及其他字符个数 Sample Input I am a student in class 1. I think I can! Sample Output 18 1 6 1 10 0 3 1 HINT char str[100];//定义字符型数组 while(g

1142: 零起点学算法49——找出数组中最大元素的位置(下标值)

1142: 零起点学算法49--找出数组中最大元素的位置(下标值) Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 1937  Accepted: 977[Submit][Status][Web Board] Description 找出数组中最大的元素的下标. Input 多组测试,每组先输入一个不大于10的整数n 然后是n个整数 Output 输出这n个整数中最大的元素及下标值 Sample I

1152: 零起点学算法59——找出一个数组中出现次数最多的那个元素

1152: 零起点学算法59--找出一个数组中出现次数最多的那个元素 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lldSubmitted: 990  Accepted: 532[Submit][Status][Web Board] Description 找出一个数组中出现次数最多的那个元素 Input 第一行输入一个整数n(不大于20) 第二行输入n个整数 多组数据 Output 找出n个整数中出现次数最多的那个整数(

1169: 零起点学算法76——绝对公正的裁判

1169: 零起点学算法76--绝对公正的裁判 Time Limit: 1 Sec  Memory Limit: 128 MB   64bit IO Format: %lldSubmitted: 510  Accepted: 336[Submit][Status][Web Board] Description 大家知道我们学校的OnlineJudge吗?,你知道他会告诉你什么呢? Compiling : 您提交的代码正在被编译.Running : 您的程序正在OJ上运行.Judging : OJ