2024/2/13

数组练习

1、选择题

1.1、若有定语句int a[3][6]; ,按在内存中的存放顺序a 数组的10个元素是   D

A)a[0][4] B) a[1][3] C)a[0][3] D)a[1][4]

1.2、有数组 int   a[5] = {1020304050},  以下表达式编译错误是____ B______

A)   a ++ 

B)   a[5] =  20  ;

C)  a + 20  ;

D)   (a-3,   a[3]) ;

1.3、以下误的定义语句是___C___    

Aint x[][3] = {{0},{1},{1,2,3}};

Bint x[4][3] = {{1,2,3},{1,2,3},{1,2,3},{1,2,3}};

Cint x[4][] = {{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; 

Dint x[][3] = {1,2,3,4};

1.4设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句 

      for(i=0;i<3;i++) 

      printf(″%d, ″,x[i][2-i]); 

的输出结果是   D

   A)1, 4, 7     B)1, 5, 9    C)3, 6,  9    D)3, 5, 7 

1.5表达式“sizeof(int [1][2])/sizeof(int)”的值为__A__。

A)  2    B)  3  C)  4  D)  5

1.6有以下程序

#include main()

{ char s[]="012xy\07s34f4w2";   

int i,n=0; 

for(i=0;s[i]!=0;i++) 

if(s[i]>='0'&&s[i]<='9')

 n++; 

printf("%d\n",n);

}

程序运行后的输出结果是____ __B______

A)0       B)3      C)7         D)8

1.7、有以下程序

#include <stdio.h>

main( )

{ char s[ ]=wstuv; printf(%c\n,*s+2);

}

程序运行后的输出结果是                A

At B tuv Cy      D)出错

1.8  数组  int  a[5] = {10, 20, 30, 4050}, 有以下语句,其输出____C___

printf(“%d\n”, *&a +1)    );

A)  20    B)  30    C)  随机值   D)编译报错

1.9  有以程序

# include <stdio.h>

int  main()

{ int s[12]={1,2,3,4,4,3,2,1,1,1,2,3}, c[5]={0,0,0,0,0}, i  ;

for(i=0;i<12;i++) c[s[i]]++ ;

for(i=1;i<5;i++) printf(%d,”,c[i]);  printf(\n);

}                        A

A) 4 3 3 2 B) 2 ,   3 4 4

C) 1 2 3 4 D ) 4 4 2 3

1.10   有数组  int  a[3][4] = {10,20,30,40,50,60,70,80,90,100,110,120},执行以下语句输出的是________B_______

printf(“%d\n”,  *(*a+2) + 3   );

A) 语句有错  B) 120     C)  30     D)  33

2、填空题

    2.1、有以下程序

#include  <stdio.h>

main( )

{ int i,n[ ]={0,0,0,0,0};

for(i=1;i<=4;i++)

{n[i]=n[i-1]*3+1;

printf(%d,n[i]);}

}

程序运行后输出结果是 ____40______

    2.2、执行以程序的输出结果_ 3715.

#include <stdio.h>

int  main()

{ int i,n[4]={1000};

for(i=1;i<=3;i++)

{ n[i]=n[i-1]*2+1; printf("%d",n[i]); }

}

2.3、下面程序运行的结果为____358_____

       main()

        {

           int  x[5]i

           x[0] = 1x[1] = 2

           fori = 2i<5i++) x[i] = x[i-1] + x[i-2];

           fori = 2i<5i++) printf“%d”x[i]);

}

2.4有以下程序

#include <sthio.h

int  main()

{

int arr[] = {1,3,5,7,2,4,6,8}, i, start

scanf(%d”, &start);

for(i=0,i<7,i+=2

printf(%d,arr[(start+i)%5]);

}

若在程序运行时输整数 10 <>,则输出结果为___1523____

2.5下面程序运行的结果为____4 5 8 2 0_____。 

#include "stdio.h"

 main()

{ int i,j,a[]={0,2,8,4,5};

printf("\n");

for(i=1;i<=5;i++)

 {  j=5-i;

          printf("%2d",a[j]);

 }

 }

2.6有以下程序

#include  <stdio.h>

int  main()

{ int n[2],i,j;

for(i=0;i<2;i++) n[i]=0; for(i=0;i<2;i++)

for(j=0;j<2;j++) n[j]=n[i]+1;

printf(%d\n,n[1]);

}

程序运行后的输出结果是 13

3、编程题

3.1、 一个班10个学生的成绩,存放在一个一维数组中,要求找出其中成绩最高的学生的成绩和该生的序号。试编程。(试着用下标法和地址法两种方法表示数组)

  1 #include<stdio.h>2 int main(int argc, const char *argv[])3 {4     int score[10]={60,60,70,75,80,85,90,90,95,96,98};5     int max=0;6     int i=0;7     int j=0;8     for(i=0;i<10;i++)9     {10         if(score[i]>max)11             max=score[i];12             j=i;13     }14     printf("最高成绩为:%d,序号为:%d",max,j);15     return 0;16 }                    

3.2、有5个学生上4门课程,要求输入全部学生的各门课程成绩,然后输出各门课程的平均成绩,并按照各个学生的平均成绩排序(成绩最高的学生排在数组最前面,最低学生排在数组最后面的行) (试着用下标法和地址法两种方法表示数组)

  1 #include<stdio.h>2 int main(int argc, const char *argv[])3 {4     int score[5][4];5     int **p=score;6     int i=0;7     int j=0;8     for(i=0;i<5;i++)9     {10         for(j=0;j<4;j++)11         {12             printf("请输入第%d个学生的第%d门成绩",i,j);13             scanf(" %d",(*(p+i)+j);14         }15     }16     for(i=0;i<5;i++)17     {18         for(int k=0;k<3;k++)19         {20             for(j=0;j<3;j++)21             {22                 if(*(*(p+i)+j)<*(*(p+i)+j+1))23                 {24                     int max=*(*(p+i)+j+1);25                     *(*(p+i)+j+1)=*(*(p+i)+j);26                     *(*(p+i)+j)=max;27                 }28             }29         }30     }31     for(i=0;i<5;i++)32     {33         for(j=0;j<4;j++)34         {35             printf("请输入第%d个学生的第%d门成绩为%d:",i,j,*(*(p+i)+j));36         }37     }38     return 0;39 }           

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

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

相关文章

孙悟空吃蟠桃 - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 孙悟空爱吃蟠桃&#xff0c;有一天趁着蟠桃园守卫不在来偷吃。已知蟠桃园有 N 棵蟠桃树&#xff0c;每棵树上都桃子&#xff0c;守卫将在 H 小时后回来。 孙悟空…

华为数通方向HCIP-DataCom H12-821题库(单选题:441-460)

第441题 下面是一台路由输出的信息,关于这段信息描述正确的是 <R1>display bgp peerBGP local router ID : 2.2.2.2Local AS number : 100Total number of peers : 2 Peers in established state : 0Peer V AS MsgRcvd MsgSent OutQ Up/Down …

Mysql基本函数

系统函数 version()--mysql版本 user()--数据库用户名 database()--数据库名 datadir--数据库路径 version_compile_os--操作系统版本 hostname--当前机器的机器名 Schema()——当前数据库 字符串连接函数 concat(str1,str2,…)--没有分隔符地连接字符串 concat_ws(separator…

Java:什么是向上转型与向下转型(详细图解)

目录 一、什么是向上转型 1、概念 2、代码示例 3、向上转型的优缺点 二、什么是向下转型 1、向下转型的概念 ​编辑 2、代码示例 三、向下转型的缺点及 instanceof 的使用 1、向下转型的缺点 2、instanceof的使用 一、什么是向上转型 1、概念 向上转型就是创建一个…

Java并发基础:PriorityBlockingQueue全面解析!

内容概要 PriorityBlockingQueue类能高效处理优先级任务&#xff0c;确保高优先级任务优先执行&#xff0c;它内部基于优先级堆实现&#xff0c;保证了元素的有序性&#xff0c;同时&#xff0c;作为BlockingQueue接口的实现&#xff0c;它提供了线程安全的队列操作&#xff0…

人类知识的分类

根据休谟的理论&#xff0c;人类知识可以分为两个范畴&#xff1a;先验范畴和经验范畴。 先验范畴指的是那些不依赖于经验或感官观察而能够获得的知识。这些知识是基于我们的理性和思维能力而得出的&#xff0c;它们不需要通过直接观察或实验来验证。休谟认为&#xff0c;先验范…

C/C++内存管理:new、delete功能及原理实现

目录 一、C/C内存分布 二、C中内存管理方式 2.1new/delete操作内置类型 2.2 new和delete操作自定义类型 三、operator new与operator delete函数 四、new和delete的实现原理 4.1内置类型 4.2自定义类型 五、定位new 一、C/C内存分布 int globalVar 1; static int sta…

阅读 - 搭建博客

搭建博客的几种方式 1. 使用在线的博客系统&#xff0c;如语雀、掘金、CSDN等。 优点&#xff1a;直接创建账号使用即可&#xff0c;简单方便&#xff0c;不需要维护 缺点&#xff1a;文章分散在各个平台&#xff0c;不易于管理 2. github pages hugo、hexo等静态博客系统…

springboot/ssm学生信息管理系统Java学生在线选课考试管理系统

springboot/ssm学生信息管理系统Java学生在线选课考试管理系统 开发语言&#xff1a;Java 框架&#xff1a;springboot&#xff08;可改ssm&#xff09; vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;mysql 5.…

【docker 的常用命令——详细讲解】

docker 的常用命令 1. 介绍2. 基本管理命令3. 文件和数据传输4. Docker Compose 命令&#xff08;用于多容器应用&#xff09; 1. 介绍 Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者打包他们的应用程序及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流…

MATLAB知识点:fibonacci函数(★☆☆☆☆)返回斐波那契数列

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第3章&#xff1a;课后习题讲解中拓展的函数 在讲解第…

javaScript实现客户端直连AWS S3(亚马逊云)文件上传、断点续传、断网重传

写在前面&#xff1a;在做这个调研时我遇到的需求是前端直接对接亚马逊平台实现文件上传功能。上传视频文件通常十几个G、客户工作环境网络较差KB/s&#xff0c;且保证上传是稳定的&#xff0c;支持网络异常断点重试、文件断开支持二次拖入自动重传等。综合考虑使用的Aws S3的分…

01 前言

目录 什么是CC发展史C的重要性如何学习C关于本专栏 1. 什么是c C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危机&#xff0c; 20…

java实现多级目录树(递归实现)

一.应用场景 有时候需要我们后台给前台传树结构的数据&#xff0c;要怎么查询? 怎么返回数据呢&#xff1f; 二.数据库表设计以及数据内容(以部门举例) id 主键 parent_id 父级部门id depart_name 部门名词 sort 部门排序三.实体类 Data public…

线性判别分析(LDA)

一、说明 LDA 是一种监督降维和分类技术。其主要目的是查找最能分隔数据集中两个或多个类的特征的线性组合。LDA 的主要目标是找到一个较低维度的子空间&#xff0c;该子空间可以最大限度地区分不同类别&#xff0c;同时保留与歧视相关的信息。 LDA 是受监督的&#xff0c;这意…

【Linux】线程概念和线程控制

线程概念 一、理解线程1. Linux中的线程2. 重新定义线程和进程3. 进程地址空间之页表4. 线程和进程切换5. 线程的优点6. 线程的缺点7. 线程异常8. 线程用途9. 线程和进程 二、线程控制1. pthread 线程库&#xff08;1&#xff09;pthread_create()&#xff08;2&#xff09;pth…

哈夫曼树的学习以及实践

哈夫曼树 哈夫曼树的基本了解哈夫曼树的基本概念创建霍夫曼树的思路编码构建的思路代码实现创建HuffmanTree结点初始化HuffmanTree创建霍夫曼树霍夫曼树编码 哈夫曼树的基本了解 给定 n 个 权值 作为 n 个 叶子节点&#xff0c;构造一颗二叉树&#xff0c;若该树的 带权路径长…

UDP报文结构和注意事项

udp由报头和载荷组成&#xff0c;报头由四部分组成 源端口 目的端口 udp长度 检验和&#xff0c;每部分由两个字节组成。 源端口和目的端口分别表示发送方和接收方的位置 udp长度表示了该数据报的大小&#xff0c;一个udp数据报为64kb 检验和用来检验所得到的数据是否正确。…

LeetCode:83和82.删除排序链表中的重复元素I,II

这两题算是链表的基础题&#xff0c;就遍历删除没啥特点&#xff0c; 83甚至不需要考虑第一个结点的特殊情况&#xff0c;属实是名副其实的easy了 LeetCode&#xff1a;21.合并两个有序链表之第一次的特殊情况-CSDN博客 83. 删除排序链表中的重复元素 - 力扣&#xff08;Lee…

TeamCity创建git项目Timed out 超时的一个解决办法

问题&#xff1a; 当自己&#xff1a; ping github.com从本地推送到远程仓库浏览器浏览www.github.com ——都没有问题 但是在teamcity创建工程的时候就超时&#xff1a; 或者多试几次&#xff0c;终于成功了&#xff0c;然后构建的时候半途超时报错。。。。。 一种解决办…