欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    第五章数组练习.docx

    • 资源ID:3123699       资源大小:39.62KB        全文页数:8页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第五章数组练习.docx

    第五章数组练习第五章习题 数组 1. 执行下面的程序段后,变量k中的值为( ) int k=3, s2; s0=k; k=s1*10; A) 不定值 B) 33 C) 30 D) 10 2. 若有定义:int a5=1,2,3,4,5;则语句a1=a3+a2+2-a3-1;运行后a1的值为( ) A)6 B)5 C)1 D)2 3. 已知int a10;则对a数组元素引用不正确的是( ) A)a10 B)a3+5 C)a10-10 D) a5 4. 下列数组定义中,正确的是( ) A)int a10; B)int n=10,an; C)int N=10; int aN; D) int n;scanf("%d",&n);int an; 5. 以下能对一维数组a进行正确初始化的语句是( ) A)int a5=(0,0,0,0,0); B)int a5=0; C)int a5=1,2,3,4,5,6,7; D) int a=0; 6. 下列数组定义中,正确的是( ) A)int a5=0; B)int a=0 1 2; C)int a5=0; D) int a; 7. 下面程序段的运行结果是( ) int i=0,a=1,2,3,4,5; do ai+=10; while (a+i>2); for ( i=0; i<5; i+) printf(“%d ”, ai); A) 11 2 3 4 5 B)1 2 3 4 5 C)11 12 13 14 15 D) 11 12 3 4 5 8. 有以下程序 main( ) char a="abcdefg",b10="abcdefg" printf("%d %dn",sizeof(a),sizeof(b); 执行后输出结果是( ) A)7 7 B)8 8 C)8 10 D)10 10 9. 求以下程序的运行结果( ) main int i=0; char ch=“#Hello#World!#”; while(1) for(;chi= '#'i+); if(chi=0) break; else printf(“%c”,chi); i+; printf(“OKn”); A) HelloWorld!OK B) #Hello#World!# C) HelloWorld! D) #Hello#World!#OK 第 1 页 共 5 页 10. 若有定义:int a34=1,2,0,1,2,3;则a11的值为( ) A)0 B)1,2 C)1 D) 3 11. 以下数组定义中,正确的是( ) A) int a23=1, 2, 3, 4, 5, 6, 7; B) int a= 1, 2, 3, 4, 5, 6, 7, 8, 9; C) int a2=1, 2, 3, 4, 5, 6 ; D) int a 4=6; 12. 若有定义int a23; 则对数组元素的非法引用是( ) A) a01/2 B) a11 C) a4-40 D) a03 13. 设有如下程序段: int a33=1,0,2,1,0,2,1,0,1,i,j,s=0; for(i=0;i<3;i+) for(j=0;j<i;j+) s=s+aij; 则执行该程序段后,s的值是( ) A)0 B) 1 C) 2 D) 3 二、改错题 请修改以下程序中/*/./*/标记中的错误,使它能得出正确的结果。 注意:不要改动/*/./*/标记以外的任何部分! 1. 输入M个整数,输出其中所有的偶数 如 输入:23 62 38 45 26 输出:62 38 26 #include <stdio.h> #include <math.h> /*/ #include M 5 /*/ main int aM,i; printf("Please input 5 numbers:n"); for(i=0; i<M; i+) scanf("%d", &ai); printf("Even numbers:n" ); for(i=0; i<M; i+) /*/ if( ai/2 =0) /*/ printf("%d ", ai); printf("n" ); getch; 2. 从键盘输入三角形的三边长,求其面积,若三个边长不能构成三角形,则提示。 如 输入:6 9 11 输出:26.98 #include <stdio.h> #include <math.h> void main 第 2 页 共 5 页 float a3,s,area; int i; printf("Please input 3 numbers:n"); for(i=0; i<3; i+) scanf("%f",/*/ ai /*/); /*/ if( a0+a1>a2 | a1+a2>a0 | a0+a2>a1 ) /*/ s = (a0+a1+a2)/2; area = sqrt(s*(s-a0)*(s-a1)*(s-a2); printf("area is %.2fn",area); else printf("error.n"); getch; 3.以下程序将数组a中的所有奇数存放到数组b中,并对数组b进行从小到大排序。输出数组b的元素个数及排序后的数组b。 #include <stdio.h> main int i,j,k,t,n,a10=9,5,4,2,1,6,8,7,3,10,b10; for(i=0,n=0;i<10;i+) /*将数组a中的奇数存放到数组b中*/ if(ai%2!=0) bn=ai; n+; /*/for(i=0;i<n;i+)/*/ k=i; for(j=i+1;j<n;j+) if(bj<bk) k=j; /*/ t=bi; bi=bj; bj=t; /*/ /*/printf(“数组b的个数为:%dn”,n-1);/*/ printf(“排序后的数组b为:n”); for(i=0;i<n;i+) printf(“%3d”,bi); printf(“n”); 三、填空题 1.以下程序的功能是完成折半查找,在有序数组中查找一个数,如果找到则输出该数在数组中的位置,如果没有找到则输出提示信息 main int a15=100,93,86,84,77,73,68,60,55,51,42,39,31,25,10,key; int top,bottom, mid,flag=0; scanf(“%d”,&key); if (key<a0&&key>an-1) flag= 0; /*返回0表示没找到*/ else top= 0; bottom = n-1; while(!flag&&top<=bottom) mid =(top+bottom)/2; /*取中间元素*/ if(amid=key) /*所查找的数据是否是中间元素*/ flag=1; /*返回找到的位置*/ else if (amid>key) /*/ /*/; else /*/ /*/; 第 3 页 共 5 页 if(flag=1) printf(“%d”,mid);else printf(“no exit!”); 2.补充下列程序,使其从键盘输入一个4行4列的二维整型数组表示4*4阶矩阵,并计算第1列元素之和 如 输入: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 输出:28 #include <stdio.h> #include <math.h> main int i,/*/ /*/; int a44,sum; sum=/*/ /*/; printf("Please input 16 numbers:n"); for(i=0; i<4;i+) for(j=0;j<4;j+) scanf("%d",&aij); for(i=0;i<4;i+) /*/ /*/ printf("%dn",sum); getch; 3.输入一个3行3列的整型数组,求其最大值和最小值,例如输入: 1 2 3 4 5 6 7 8 9 输出max9,min1 #define ROW 3 #define COL 3 void main int aROWCOL,i,j,max,min; clrscr; printf("Please input the 9 integers:n"); for(i=0;i<ROW;i+) for(j=0;j<COL;j+) scanf("%d",&aij); /*/ /*/ for(i=0;i<ROW;i+) for(j=0;j<COL;j+) if(/*/ /*/) max=aij; if(aij<min) /*/ /*/ printf("max=%dn",max); printf("min=%dn",min); getch; 第 4 页 共 5 页 四、编程题 1. 定义一个长度为5的整型数组,用循环语句分别赋值2,4,6,8,10,并要求逆序输出数组中的元素 2. 定义一个长度为5的整型数组,数组元素的值从键盘循环输入,要求用最简单的方法找出数组的最大值和最小值 3. 在上题的基础上要求删除数组中的第二个元素,即8这个数,要求数组按 排列,并用循环语句输出删除后的数组元素。 4. 定义一个长度为7的整形数组,分别赋值为2、4、6、8,10,12,从键盘输入一个值,要求插入到该数组中,要求插入后仍然有序并输出数组。 5. 定义一个长度为6的整型数组,数组元素的值从键盘循环输入,要求用冒泡法从小到大进行排序 6. 定义一个整形数组赋初值为2,10,5,7,8,要求逆序存放数组元素后输出该数组元素。 7. 定义一个三行三列的整型二维数组,用循环语句赋值为1,2,3,4,5,6,7,8,9,编程输出该二维数组的所有元素之和并找到该二维数组的最大值,以及该最大值所在的行和列的下标 。 8. 定义一个三行三列的整型二维数组,数组的元素要求从键盘循环输入,要求编程分别输出该二维数组的主对角线之和 以及次对角线之和 。 测试数据: 1 0 0 2 1 3 1 2 1 如果输入如上二维矩阵,则主对角线和为1,次对角线和为1 9. 定义一个4行4列的二维数组,分别从1赋值到16,然后要求只输出该数组的下半 三角 1 5 6 9 10 11 13 14 15 16 第 5 页 共 5 页

    注意事项

    本文(第五章数组练习.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开