第1关:排序问题

任务描述
本关任务:将十个数进行从大到小的顺序进行排列。

相关知识(略)
编程要求
根据提示,在右侧编辑器Begin-End处补充代码。
输入
输入十个整数。

输出
以从大到小的顺序输出这个十个数。

测试说明
样例输入:
1 2 3 4 5 6 7 8 9 10

样例输出:
10 9 8 7 6 5 4 3 2 1

参考答案:

#include<stdio.h>
int main(void)
{/*********Begin*********/int i,j,temp=0;int a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=1;i<10;i++)for(j=0;j<9;j++)if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}for(i=0;i<10;i++)printf("%d ",a[i]);/*********End**********/return 0;
}

第2关:查找整数

任务描述
题目描述:给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

相关知识(略)
编程要求
根据提示,在右侧编辑器Begin-End处补充代码。
输入
第一行包含一个整数n。
第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。
第三行包含一个整数a,为待查找的数。
输出
如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。

测试说明
样例输入:
6
1 9 4 8 3 9
9
样例输出:
2
提示:
数据规模与约定。
1 <= n <= 1000
参考答案:

#include<stdio.h>
int main(void)
{/*********Begin*********/int n,i,a,sum=0;int arr[1000];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&arr[i]);scanf("%d",&a);for(i=0;i<n;i++){if(arr[i]==a) {sum=i+1;goto loop;}} loop: if(sum==0) printf("-1");else printf("%d",sum);/*********End**********/return 0;
}

第3关:计算数组中元素的最大值及其所在的行列下标值

任务描述
题目描述:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中m和n的值由用户键盘输入。已知m和n的值都不超过10。

相关知识(略)
输入
输入数组大小:"%d,%d"
下面输入数组中元素。

输出
输出格式:
数组大小输入提示信息:“Input m, n:”
数组元素输入提示信息:"Input %d*%d array: "
输出格式:“max=%d, row=%d, col=%d”

样例输入
5,5
1 2 3 4 5
4 5 6 100 2
3 2 1 5 6
1 2 3 5 4
3 5 6 4 8

样例输出
Input m, n:Input 5*5 array:
max=100, row=2, col=4

开始你的任务吧,祝你成功!

编程要求
根据提示,在右侧编辑器Begin-End处补充代码。

测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

参考答案:

#include<stdio.h>
int main(void)
{/*********Begin*********/int m,n;int a[5][5];int i,j,max=0,row=0,col=0;scanf("%d,%d",&m,&n);for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);max=a[0][0];for(i=0;i<m;i++)for(j=0;j<n;j++)if(max<=a[i][j]){max=a[i][j];row=i+1;col=j+1;}printf("Input m, n:");printf("Input %d*%d array:\n",m,n);printf("max=%d, row=%d, col=%d",max,row,col);/*********End**********/return 0;
}

第4关:二分查找

任务描述
题目描述:将n个从小到大排序的整数(n<1000000)从1~n进行编号,并一个待查找的整数m,请使用二分法进行查找。
####相关知识(略)
####编程要求
根据提示,在右侧编辑器Begin-End处补充代码。
输入
输入包括3行,第一行为整数n,第二行包括n个整数,以空格分隔,第三行为整数m。
输出
如果能够在序列中找到整数m,则输出编号(如果存在多个编号,返回编号最小的),如果不存在,则输出None。

测试说明
样例输入:
10
1 2 4 5 6 7 8 9 10 11
10
样例输出:
9
参考答案:

#include <stdio.h>
int a[1000005],n,t;
int BS(){int l=0,r=n-1;while(l<=r){int m=(l+r)>>1;if(t<a[m])r=m-1;else if(t>a[m])l=m+1;else if(a[m-1]<t)return m;else r=m-1;}return -1;
}
int main(){while(~scanf("%d",&n)){for(int i=0;i<n;i++)scanf("%d",&a[i]);scanf("%d",&t);if(a[0]==t)printf("1");else{int f=BS();if(f!=-1){printf("%d",f+1);}elseprintf("None");}}
return 0;
}

第5关:鞍点

任务描述
题目描述:找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。

相关知识(略)
编程要求
输入
输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。

输出
按下列格式输出鞍点:
Array[i][j]=x
其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。
一个二维数组并不一定存在鞍点,此时请输出None
我们保证不会出现两个鞍点的情况,比如:
3 3
1 2 3
1 2 3
3 6 8

测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

样例输入:

3 3
1 2 3
4 5 6
7 8 9

样例输出:

Array[0][2]=3

参考答案:

#define N 10
#include <stdio.h>
int Maxcol(int a[][N],int n,int row){int i,maxcol=0;for(i=1;i<n;i++)if (a[row][i]>a[row][maxcol]) maxcol=i;return maxcol;
}
int Minrow(int a[][N],int m,int col){int i,minrow=0;for(i=1;i<m;i++)if (a[i][col]<a[minrow][col]) minrow=i;return minrow;
}
int main(){int m,n,i,j;int maxcol,minrow;int a[N][N];scanf("%d%d",&m,&n);for(i=0;i<m;i++) for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<m;i++){maxcol=Maxcol(a,n,i);minrow=Minrow(a,m,maxcol);if (i==minrow){printf("Array[%d][%d]=%d",i,maxcol,a[i][maxcol]);break;}}if(i>=m) printf("None");
}

第6关:删除最大值

任务描述
题目描述:输入10个互不相同的整数并保存在数组中,找到该最大元素并删除它,输出删除后的数组

相关知识(略)
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写删除最大值的小程序。

输入

输入10个互不相同整数

输出

输出删除最大元素后的数组

测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

样例输入:

1 2 3 4 5 6 7 8 9 0

样例输出:

1 2 3 4 5 6 7 8 0

参考答案:

#include"stdio.h"
#define N 10
void del(int d[],int i,int n)
{for(;i<n-1;i++){d[i]=d[i+1];}
}
int main()
{int a[N],i,max=0;for(i=0;i<=N;i++){ scanf("%d",&a[i]);} for(i=1;i<=N;i++){ if(a[i]>a[max])max=i; } del(a,max,10);for(i=0;i<N-1;i++){printf("%d",a[i]);// if(i<N-2) 老师改过题的 putchar(' ');}return 0;
}

第7关:杨辉三角

任务描述
题目描述:还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

相关知识(略)
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写杨辉三角的小程序。

测试说明
平台会对您的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

输出

打印出杨辉三角图形的10行。格式见题目描述部分。每个整数后面接一个空格来分隔开整数

参考答案:

#include <stdio.h>  void main()
{  int a[10][10]={0},i,j;  for (i=0;i<10;i++)  {     for (j=i;j>=0;j--)  {  if (i==j || j==0)  {  a[i][j]=1;  }else{  a[i][j] = a[i-1][j-1]+a[i-1][j];//这里的规律是如果不是第一项或者最后一项,就把前面的值相加。  }  }  for (j=i;j>=0;j--)  {  printf("%d   ",a[i][j]);  }  printf("/n");  }
}  

第6部分 一维数组和二维数组相关推荐

  1. c语言bool怎么用_C语言中的一维数组和二维数组什么?怎么用?

    C++| 匠心之作 从0到1入门学编程[免费]​yun.itheima.com C语言除了基本数据类型之外,还提供了构造类型的数据,构造类型的数据包括数组类型.结构体类型和共用体类型.下面我们详细介绍 ...

  2. android 一维数组遍历,$.each()循环遍历一维数组、二维数组、JSON数据和DOM元素

    本文介绍$.each()循环遍历一维数组.二维数组.JSON数据和DOM元素. 请注意在使用JQuery $.each()方法前,要首先引用jquery库文件. $.each()循环遍历一维数组 Jq ...

  3. php 数组与数组之间去重,PHP开发中一维数组与二维数组去重功能实现教程

    本篇文章讲述了PHP实现一维数组与二维数组去重功能示例.希望对在php学习和开发的同学有所帮助! 数组中重复项的去除 一维数组的重复项: 使用array_unique函数即可,使用实例如下: ? $a ...

  4. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  5. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)...

    二维数组,锯齿数组和集合 一.二维数组 二维数组: 一维数组----豆角 二维数组----表格 定义: 1.一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组 ...

  6. C语言中的一维数组和二维数组

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/104344394 一 ...

  7. 【蓝桥杯Java_C组·从零开始卷】第四节、一维数组与二维数组

    整篇文章为对java数组的完整理解以及部分排序,并有一些简单的demo,经典的案例与蓝桥杯的一些经典数组题有专门的文章梳理. 目录 数组概述 什么是数组 数组的结构 数组的特点: 数组分类 一维数组声 ...

  8. MATLAB 将不同长度的一维数组存入二维数组

    将多个不同长度的一维数组存入二维数组时,需要将所有一维数组的长度转为相同长度,可以采用在数组后边补零的方式实现. 如果a是行向量,M是你要的最终向量的长度,用 a=[a , zeros(1,M-len ...

  9. 怎样定义和引用一维数组,二维数组

    s1,s2,s3,...,s30 右下角的数字称为下标(subscript) 一批具有同名的同属性的数据就组成了一个数组(array),s就是数组名. 1.怎样定义和引用一维数组 一维数组.二维数组. ...

  10. 一维数组和二维数组创建,输出,Arrays.fill()替换

    package com.xxx.xxx;import java.util.Arrays;public class demo8 {/*** 1.初始化一维数组 使用一维数组* 2.初始化二维数组 使用二 ...

最新文章

  1. 20145129 课程总结
  2. 《Java程序设计》实验二 实验报告
  3. pat1049. Counting Ones (30)
  4. python 基础之字符串方法
  5. java对mysql的简单操作的综合运用——修改密码系统
  6. linux挂载iso镜像文件_Linux服务器如何识别移动硬盘?
  7. Bootstrap 提示工具(Tooltip)弹出框
  8. getBoundingClientRect方法获取元素在页面中的相对位置
  9. java - 操作系统 Linux
  10. Java中的数据类型
  11. C语言——打鱼晒网问题
  12. 考HCIE大概需要多少钱?
  13. python数据分析(六)—数据清洗2
  14. 干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
  15. 【畅销书】浪潮之巅--吴军
  16. 毕业设计-基于微信小程序的“助农”销售系统
  17. 高德地图自定义点标记大小_高德地图实现自定义小蓝点 自定义点标记 绘制多边形/圆形区域 根据地图的移动显示或者隐藏自定义点标记的相关实现...
  18. 泰迪云课堂大数据培训平台业务介绍
  19. EasyExcel实现Mysql数据库Excel数据导出
  20. 复旦计算机专业分数线6,【数据】36所强基计划高校2020入围分数线与专业点评,报名参考!...

热门文章

  1. 电脑能玩和平精英吗_和平精英新手怎么玩 和平精英快速上手攻略
  2. LInux 小技巧(转)
  3. 201771010131孔维滢《面向对象程序设计(java)》第六周学习总结
  4. 大鱼吃小鱼游戏-mom.js
  5. pyhanlp 文本聚类详细介绍
  6. (2110,5): warning MSB3245: 未能解析此引用。未能找到程序集“Windows”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。
  7. 不仅0元购物,还能赚钱-天花板
  8. STM32 使用Keil下载仿真时,报错 JLink Info: STM32Fxxxx: Cannot attach to CPU. Trying connect under reset.
  9. 短路逻辑运算符和非短路逻辑运算符
  10. 【GPLT】L2-027 名人堂与代金券