c语言程序设计江宝钏实验六答案,C语言程序设计(江宝钏著)实验六答案-资源下载蚂蚁文库...

《C语言程序设计》(江宝钏著)实验六答案

6.46.4实验六实验六 数组数组 一、一、 实验目的与要求实验目的与要求 1. 掌握一维数组的定义、赋值和输入输出的方法。 2. 理解一维数组的存储方法及下标的表示方法。 3. 掌握与数组有关的算法特别是排序算法。 4. 掌握二维数组的定义、赋值和输入输出的方法。 5. 理解二维数组的存储方法及下标的表示方法。 6. 实验 4 学时。 二、实验内容二、实验内容 1.程序验证题与改错题 (1)程序验证题 ① 给定一个整型数组 a,要求求出其中小于 0 的元素的个数。请验证下面的程序是否 符合题目要求。 define N 10 void main { int a[N]{11,2,4,-1,5,-3,-66,0,10,-5}; int i;/*变量 i 用于 for 循环*/ int count0;/*变量 count 用于技术,初始化为 0*/ for i0;ii;j-- { { ta[i][j];ta[i][j]; a[i][j]a[j][i];a[i][j]a[j][i]; a[j][i]t;a[j][i]t; } } printf“printf“交换后的数列为交换后的数列为\n“;\n“; fori0;ix;ifori0;ix;i { { forj0;jy;jforj0;jy;j printf“5d“,a[i][j];printf“5d“,a[i][j]; printf“\n“;printf“\n“; } } } } 编程题编程题 4 一个学习小组有 5 个人,每个人有三门课的考试成绩。求全组分科的平均成绩和各科总 平均成绩。 张王李赵周 Math8061598576 C7565638777 English9271709085 提示 可设一个二维数组 a[5][3]存放五个人三门课的成绩。 再设一个一维数组 v[3]存放所 求得各分科平均成绩,设变量 average 为全组各科总平均成绩。 答答 includeinclude voidvoid mainmain { { intint a[3][5];a[3][5]; intint i,j;i,j; doubledouble sum1,sum20,v[3],average;sum1,sum20,v[3],average; printf“\tprintf“\t 张张\t\t 王王\t\t 李李\t\t 赵赵\t\t 周周\n“;\n“; fori0;i3;ifori0;i3;i { { switchiswitchi { { casecase 0printf“0printf“math“;break;math“;break; casecase 1printf“1printf“c c“;break;“;break; casecase 2printf“English“;break;2printf“English“;break; } } forj0;j5;jforj0;j5;j scanf“5d“,scanf“5d“, } } fori0;i3;ifori0;i3;i { { sum10;sum10; forj0;j5;jforj0;j5;j sum1a[i][j];sum1a[i][j]; v[i]doublesum1/5;v[i]doublesum1/5; sum2v[i];sum2v[i]; } } averagesum2/3;averagesum2/3; fori0;i3;ifori0;i3;i { { switchiswitchi { { casecase 0printf“math0printf“math averageaverage.2lf\n“,v[i];break;.2lf\n“,v[i];break; casecase 1printf“chinese1printf“chinese averageaverage .2lf\n“,v[i];break;.2lf\n“,v[i];break; casecase 2printf“English2printf“English averageaverage .2lf\n“,v[i];break;.2lf\n“,v[i];break; } } } } printf“totleprintf“totle average.2lf\n“,average;average.2lf\n“,average; } } 3.较难编程题 编程题编程题 1给定一个整型数组 a,要求将数组 a 中的元素进行从小到大的排序(用冒泡法排 序) 【算法描述】 从第一个数开始依次对相邻两数进行比较, 如次序对则不做任何操作; 如次序不对则使这两 个数交换位置。第一遍的(N-1)次比较后,最大的数已放在最后;第二遍只需考虑(N-1) 个数,即不用考虑最后一个数;以此类推每次少考虑一个数,直到第(N-1)遍比较后就可 以完成排序。 答答 include define N 1000 void main { int a[N],n; int i,j,t; printf“请输入数组中元素的个数请输入数组中元素的个数“; scanf“d“, printf“输入数组输入数组“; fori0;in;i scanf“d“, fori0;in-1;i { forj0;ja[j1] { ta[j]; a[j]a[j1]; a[j1]t; } } printf“排序后的数列为排序后的数列为“; fori0;ie。若找到相等元素,则返回元素下 标,否则返回-1 表示无此数。 答答 include define N 15 void fint s[],int n; void main { int s[N]{1,2,3,5,9,10,20,23,45,56,66,70,80,90,100},b0,eN,mid,x; printf“ anumber to search“; scanf“d“, whilebe { midbe/2; ifxs[mid] { printf“The position in array is d\n“,mid1; fs,mid;break; } else ifxe printf“d not be foud\n“,x; } void fint s[],int n { int i; forin;iN;i s[i]s[i1]; printf“output the array after deleting the number\n“; fori

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值