C语言实验6
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言实验6:一维数组(1)
一、实验目的
(1)掌握一维数组的定义、赋值和输入输出的方法。
(2)掌握与数组有关的算法(例如排序算法)。
(3)进一步学习调试程序。
二、基础知识巩固
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是________。
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型的表达式
2、以下对一维整型数组a的正确说明是________。
A、int a(10);
B、int n=10,a[n];
C、int n;
D、#define SIZE 10
scanf("%d",&n); int a[SIZE];
int a[n];
3、若有说明:int a[10];则对数组元素的正确引用是________。
A、a[10]
B、a[3,5]
C、a(5)
D、a[10-10]
4、以下能对一维数组a进行正确初始化的语句是________。
A、int a[10]=(0,0,0,0,0);
B、int a[10]={ };
C、int a[]={0};
D、int a[10]={10*1};
5、下面程序________(每行程序前的数字为行号)
1 #include
2 void main()
3 {
4 int a[3]={3*0};
5 int i;
6 for(i=0;i<3;i++) scanf("%d",&a[i]);
7 for(i=1;i<3;i++) a[0]=a[0]+a[i];
8 printf("%d\n",a[0]);
9}
A、第3行有错误
B、第7行有错误
C、第5行有错误
D、没有错误
6、对以下说明语句的正确理解是________。
int a[10]={6,7,8,9,10};
A、将5个初值依次赋给a[1]至a[5]
B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[6]至a[10]
D、因为数组与初值的个数不相同,所以此语句不正确
7、下面程序的运行结果是________。
main()
{ int a[6],i;
for(i=1;i<6;i++)
{ a[i]=9*(i-2+4*(i>3))%5;
printf("%2d",a[i]);
}
}
A、-4 0 4 0 4
B、-4 0 4 0 3
C、-4 0 4 4 3
D、-4 0 4 4 0
8、若有以下说明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='a',d,g;
则数值为4的表达式是
A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]
9、执行下面的程序段后,变量k中的值为
int k=3, s[2];
s[0]=k; k=s[1]*10;
A) 不定值 B) 33 C) 30 D) 10
10、填补空出的语句,以使程序完整,然后上机验证。程序的功能是输出数组s中最大元素的下标。
main()
{
int k,p;
int s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])_____________;
printf("%d\n",k);
}
【程序分析提示】主要考虑最大元素下标k和循环变量p之间的关系。
二、编程题(以下三题,任意选做二题)
1、从键盘上输入10个实型数存入数组,然后按输入顺序的逆序输出这10个数
2、将一个数组中的值按逆序重新存放。
如:原来顺序为8、6、5、4、1,要求改为1、4、5、6、8。
3、青年歌手参加歌曲比赛,有10个评委对她进行评分。试编程求这位选手的平均得分(去掉一个最高分和一个最低分)【分析】:这道题的核心是排序。将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,其中排序部分可参考实验准备中的例子。