2024/2/13

news/2024/7/24 11:19:38 标签: c语言

数组练习

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.niftyadmin.cn/n/5376442.html

相关文章

ChatGPT在国际中文教育领域引起的变革与挑战

随着ChatGPT这一先进的自然语言处理模型的出现&#xff0c;教学、学习、测评和辅导的传统方式正在面临可能的重塑。她是否会影响中文教育的未来方向&#xff0c;甚至取代中文教师的角色&#xff0c;成为了许多人热议的话题。本文旨在探讨ChatGPT与中文测评之间的联系&#xff0…

项目02《游戏-14-开发》Unity3D

基于 项目02《游戏-13-开发》Unity3D &#xff0c; 任务&#xff1a;战斗系统之击败怪物与怪物UI血条信息 using UnityEngine; public abstract class Living : MonoBehaviour{ protected float hp; protected float attack; protected float define; …

【漏洞复现】狮子鱼CMS文件上传漏洞(wxapp.php)

Nx01 产品简介 狮子鱼CMS&#xff08;Content Management System&#xff09;是一种网站管理系统&#xff0c;它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能&#xff0c;包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面&#xf…

PhP+vue企业原材料采购系统_cxg0o

伴随着我国社会的发展&#xff0c;人民生活质量日益提高。互联网逐步进入千家万户&#xff0c;改变传统的管理方式&#xff0c;原材料采购系统以互联网为基础&#xff0c;利用php技术&#xff0c;结合vue框架和MySQL数据库开发设计一套原材料采购系统&#xff0c;提高工作效率的…

with 用法

with 已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它&#xff0c;但也许已从相关的 web 标准中移除&#xff0c;也许正准备移除或出于兼容性而保留。请尽量不要使用该特性&#xff0c;并更新现有的代码&#xff1b;参见本页面底部的兼容性表格以指导你作出决定。请注意…

vue前端系统启动报错Module not found: Error: Can‘t resolve ‘sass-loader‘

1、确认项目中是否已安装 node-sass 包。sass-loader 是依赖于 node-sass 包的&#xff0c;如果没有安装 node-sass 包&#xff0c;也会导致无法找到 sass-loader 包。 npm ls node-sass安装 node-sass 包&#xff1a; npm install --save-dev node-sass2、确认项目中是否已安…

【数据结构】二叉树的顺序结构及链式结构

目录 1.树的概念及结构 1.1树的概念 1.2树的相关概念 ​编辑 1.3树的表示 1.4树在实际中的运用&#xff08;表示文件系统的目录树结构&#xff09; 2.二叉树概念及结构 2.1二叉树的概念 2.2现实中的二叉树 ​编辑 2.3特殊的二叉树 2.4二叉树的性质 2.5二叉树的存储结…

容器高级知识: 适配器模式与 Sidecar 模式的区别

适配器模式与 Sidecar 模式的区别 在 Kubernetes 中&#xff0c;适配器模式和 Sidecar 模式都是扩展您的主应用程序容器功能的方法&#xff0c;但它们具有不同的目的和功能&#xff1a; Sidecar 模式&#xff1a; 通用目的&#xff1a; 为主应用程序提供 补充功能&#xff0…