版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章数组习题答案1、填空题(1)14、0(2)常量表达式1、常量表达式2(3)以行优先存储(4)i*n+j+1(5)0,0(6)地址(7)1(8)string.h(9)2,1(10)for(i=0;i<20;i++)printf("%d",a[0]);2、选择题(1)-(5)BDDCD(6)-(10)CDDDB(11)-(15)BCDBD(16)-(20)BBBDD(21)-(25)CDDBD3、分析题(1)(2)LBLMNP(3)SW*(4)(5)4、程序设计题(1)用冒泡排序法对20个整数从大到小排序。#include<stdio.h>voidmain(){intarr[20];inti,j,temp,n=20;printf("请输入20个整数:");for(i=0;i<n;i++)scanf("%d",&arr[i]);for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++)if(arr[j]<arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}printf("排序后:\n");for(i=0;i<n;i++)printf("%d",arr[i]);printf("\n");}(2)求二维数组中最大最小值及其行列号。#include<stdio.h>voidmain(){inta[4][4],i,j,max,row1,column1;intmin,row2,column2;for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);max=a[0][0];row1=0;column1=0;min=a[0][0];row2=0;column2=0;for(i=0;i<4;i++)for(j=0;j<4;j++){if(max<a[i][j]){max=a[i][j];row1=i;column1=j;}if(min>a[i][j]){min=a[i][j];row2=i;column2=j;}}printf("max=%d,row=%d,column=%d\n",max,row1+1,column1+1);printf("min=%d,row=%d,column=%d\n",min,row2+1,column2+1);}(3)编程序求一个矩阵中的马鞍点。例如如下矩阵,第一行第二列中的30,是它所在的行中最小的数,同时又是它所在的列中最大的数,这样的数就是马鞍点。3230495615731928241737199835#include<stdio.h>intmain(){inta[4][4];intb[4];inti,j,t;intflag=0;//用于标示数组b中是否存在不是-1的元素printf("输入一个4*4二维数组:\n");for(i=0;i<4;i++){scanf("%d%d%d%d",&a[i][0],&a[i][1],&a[i][2],&a[i][3]);}//找出每一行中最小的元素,并把列号存在数组b中for(i=0;i<4;i++){//默认每一行第一个元素为最小值b[i]=a[i][0];//引入一个循环变量t用来记录最小值的列号t=0;//把最小值的数值暂时存在b中,把最小值的列号暂时存在t中for(j=0;j<4;j++){if(b[i]>a[i][j]){b[i]=a[i][j];t=j;}}//如果一行中有两个相同的最小值,t等于-1for(j=0;j<4;j++){if(b[i]==a[i][j]&&j!=t){t=-1;}}//把最小值的列号存在b中b[i]=t;}for(i=0;i<4;i++){if(b[i]!=-1){for(j=0;j<4;j++){if(a[i][b[i]]<a[j][b[i]]){b[i]=-1;}elseif(a[i][b[i]]==a[j][b[i]]&&i!=j){b[i]=-1;}}}}for(i=0;i<4;i++){if(b[i]!=-1){flag=1;printf("鞍点为:a[%d][%d]\n",i,b[i]);}}if(flag==0){printf("没有鞍点");}}(4)编写程序实现从键盘中输入一行字符串,然后逆序输出。例如:输入字符串“abcd”,输出应为”dcba”。#include<stdlib.h>#include<string.h>intmain(){charstr[100];charptr[100];intn,i;printf("Inputastring:");gets(str);n=strlen(str);for(i=0;i<=n;i++){ptr[i]=str[n-i-1];}ptr[i-1]='\0';printf("Inversedresults:%s\n",ptr);}(5)从键盘中敲入三个字符串,找出最大的那个字符串并把它输出出来。#include<stdio.h>#include<stdio.h>#include<string.h>intmain(){charstr[3][100];inti,n=0;printf("输入三个字符串:\n");for(i=0;i<3;i++)gets(str[i]);for(i=1;i<3;i++){if(strcmp(str[i],str[n])>0)n=i;}printf("最大字符串是:\n%s\n",str[n]);}(6)编写程序求某班20位学生三门课(英语、数学、语文)总成绩,并按照总成绩从大到小排序。#include<stdio.h>#defineN20intmain(){inti,j,x,y,z,r,a[N];for(i=1;i<=N;i++){scanf("%d%d%d",&x,&y,&z);a[i-1]=x+y+z;}for(i=0;i<N;i++){for(j=0;j<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 柳州铁道职业技术学院《公共经济理论研讨》2023-2024学年第一学期期末试卷
- 柳州工学院《微纳米力学》2023-2024学年第一学期期末试卷
- 2024版二次离婚起诉状范本:婚姻纠纷解决的专业化路径3篇
- 2024年标准版无财产分割离婚合同模板版B版
- 2024年度三方补充协议模板:企业并购整合计划2篇
- 2024年中国铝制品冲件市场调查研究报告
- 2024年度企业数据共享与业务协同协议3篇
- 2023三年级英语上册 Module 2 Unit 1 I'm Ms Smart教学实录 外研版(三起)
- 2024至2030年中国晶点试验器行业投资前景及策略咨询研究报告
- 2024版成品油终端用户信用评估与风险管理合同3篇
- 【MOOC】法理学-西南政法大学 中国大学慕课MOOC答案
- 辽宁省普通高中2024-2025学年高一上学期12月联合考试语文试题(含答案)
- 储能运维安全注意事项
- 2024蜀绣行业市场趋势分析报告
- 电力法律法规培训
- 2024年世界职业院校技能大赛“智能网联汽车技术组”参考试题库(含答案)
- 【课件】校园安全系列之警惕“死亡游戏”主题班会课件
- 化工企业冬季安全生产检查表格
- 2024年工程劳务分包联合协议
- 蜜雪冰城员工合同模板
- 广东省深圳市龙岗区2024-2025学年三年级上学期11月期中数学试题(含答案)
评论
0/150
提交评论