上机实训实训五数组Word下载.docx
- 文档编号:19637232
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:15
- 大小:64.64KB
上机实训实训五数组Word下载.docx
《上机实训实训五数组Word下载.docx》由会员分享,可在线阅读,更多相关《上机实训实训五数组Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
您刚输入的12个数字为:
for(i=0;
%4d"
a[i]);
if((i+1)%3==0)
printf("
}
2.二位数组的输入和输出。
启动VisualC++,输入以下程序
inta[3][4],i,j;
3;
i++)/*外循环*/
for(j=0;
j<
4;
i++)/*内循环*/
scanf("
a[i][j]);
printf("
a[i][j]);
printf("
}
3.求数组中元素的最小值,并把最小值的元素的下标输出,请把程序补充完整
inti,j,min;
inta[10]={34,23,12,5,14,9,48,21,16,27};
______1_______
for(i=1;
10;
if(min>
a[i])
{
___2___
j=i;
/*j用于存放最小元素的小标*/
最小值为:
%d\n其下标为:
min,j);
4.计算N*N矩阵主对角线元素和反对角线元素之和,并将和输出。
注意,要求先累加主对角线元素的值,然后累加反向对角线元素的值。
例如:
若N=3
有以下矩阵:
123
456
789
首先累加1、5、9,然后累加3、5、7,输出结果为30。
请把程序补充完整。
#defineN4
inti,sum;
inta[][N]={34,23,12,5,14,9,48,21,16,27,3,10};
_____1______
for(i=0;
N;
sum+=____2____/*求主对角线的和*/
sum+=a[i][N-1-__3____];
/*求反对角线的和*/
printf("
sum=%d"
sum);
5.排序算法一:
对数组中的N个元素按照从小到大的顺序进行排序(考试重点)
#defineN8
inti,j,k;
inta[N]={23,12,14,9,48,21,16,27};
N-1;
i++)/*8个数一共比较7轮就行了*/
{n=i;
for(j=i+1;
j++)/*每一轮比较8-i次*/
if(a[n]>
a[j])/*两个数进行比较,记录最小值下标*/
n=j;
/*以下的3条语句是用来实现交换的*/
k=a[i];
a[i]=a[n];
a[n]=k;
i++)/*将排序后的结果依次输出*/
%4d,"
排序算法二:
对数组中的N个元素按照从大到小的顺序进行排序(考试重点)
i++)/*只要选择7个位置就可以了*/
j++)/*每一次都是当前位置和后面的所有元素依次比较*/
if(a[i]<
a[j])/*进行比较*/
{/*以下的3条语句是用来实现交换的*/
a[i]=a[j];
a[j]=k;
6.字符串的输入输出
(1)启动VC,新建一个文件,输入以下程序代码(采用循环的方式读取字符串)
chara[15];
inti;
请输入15个字符:
=14;
%c"
您刚输入的15个字符:
(2)新建一个程序,输入以下的程序代码(采用%s的方式读取字符串)
charc[15];
%s"
c);
注意:
%s读取时遇到空格就认为是结束标志!
(3)新建一个程序,输入以下的程序代码
charc[20];
gets(c);
puts(c);
说明:
gets函数用来输入字符串,能够读取空格和回车符。
puts函数用来输出的,输出时会自动在字符串末尾加一个换行符。
【真题再现】
1.求10个学生数学成绩的最高分,最低分,平均分。
请把以下程序补充完整。
inti,max,min,aver;
inta[10]={58,60,82,89,76,54,72,65,55,35};
____1_____
aver=0;
____2_____/*求总分*/
if(a[i]>
max)
_____3____
if(a[i]<
min)
min=a[i];
printf("
最高分数为:
max);
最低分数为:
min);
平均分为:
____4___);
2.统计10个学生数学成绩及格的人数(>
=60分为及格),并把及格学生的成绩输出。
inti,count;
=60)
___2____/*统计个数*/
___3____/*将符合条件的成绩输出*/
3.从键盘输入15个学生的成绩,按照从高分到低分进行排名,并依次输出,请把程序补充完整
inti,j,k,a[15];
15;
i++)/*从键盘读取成绩*/
{
_____1_____
14;
i++)
j++)
{____2_____
{
__此处要填多行____________
i++)/*将排序后的成绩依次输出*/
________________
4.求出数组周边元素的平均值。
请把程序补充完整
例如,若a数组中的值为:
01279
19745
23831
45682
59141
输出结果应为:
aver=3.375
#include<
stdio.h>
#defineN5
inti,j,k=0;
inta[][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
doubleaver=0.0;
_______此处要填多行__________
Theaveragyis:
%lf\n"
aver);
参考答案:
5.矩阵操作题
(1)将矩阵的右上三角元素置0右上三角
例如:
inti,j;
inta[][N]={1,2,3,4,5,6,7,8,9,3,6,7,2,4,3,1};
for(___1__;
____2____;
j++)
____3____;
/*置0*/
for(i=0;
for(j=0;
(1)j=i
(2)j<
N(3)a[i][j]=0
(2)将矩阵转置
for(j=0;
______1______/*判断*/
____2_______/*进行转置操作*/
(1)if(i<
j)
(2)k=a[i][j];
a[i][j]=a[j][i];
a[j][i]=k;
【常用算法练习】
1.从键盘输入5个整数,存在数组中,并输出
#include<
inta[5],i;
2.求数组中的最大值及下标,最小值
inta[5],i,max,min;
5;
scanf("
__________1___________
_________2_____
________3________
最大值=%d,最小值=%d"
max,min);
3.求数组元素的和,平均值
inta[5],i,sum;
floataver;
scanf(______1_____);
_____2_____
______3_____
____________4________
和为=%d,平均值=%f"
sum,aver);
4.将数组中大于平均值的元素输出
scanf(_____1_______);
sum=0;
_______2________
和为=%d,平均值=%f\n"
大于平均值的元素为:
__________
____________
5.将1—500中能被7整除或11整除,不能同时被7和11整除的数存在数组中,并输出
inta[100],i,j=0;
=500;
if((i%7==0||i%11==0)&
&
(i%77!
=0))
{
/*请在此处填写你的代码*/
}
j;
/*请在此处填写你的代码*/
6.将100—200之间的所有素数存在数组中,并输出
inta[100],i,j,t=0,flag;
for(i=100;
=200;
t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上机实训实训五 数组 上机 实训实训五