第八次作业
Posted 张晓楠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八次作业相关的知识,希望对你有一定的参考价值。
一、实验内容
1.实验要求
输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
代码
#include<stdio.h> #define N 100 int main() { int i,a,n,sum,max,min,grade,index,score[N],index1=0,index2=0; double average; printf("请输入学生数量:\\n"); scanf("%d",&n); sum=0; //输入学生成绩 for(i=0;i<n;i++) { printf("请输入第%d位学生的成绩\\n",i+1); scanf("%d",&score[i]); sum=sum+score[i]; } //平均成绩 average=(double)sum/n; printf("平均成绩是%.2lf\\n",average); //最大值最小值及下标 max=score[0]; min=score[0]; for(i=0;i<n;i++) { if(score[i]>max) { max=score[i]; index1=i; } if(score[i]<min) { min=score[i]; index2=i; } } printf("max=%d,下标为%d,min=%d,下标为%d\\n",max,index1,min,index2); //成绩查找 printf("输入你想查找的成绩\\n"); scanf( "%d",&grade); a=0; for(i=0;i<n;i++) { if(score[i]==grade) { printf("第%d位同学符合人要求\\n",i+1); a++; } } printf("共有%d位同学符合要求\\n",a); return 0; }
程序运行结果
2.实验要求
现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
代码
#include<stdio.h> #define N 11 int main() { int i,m,n, num[N]={2,4,6,8,10,12,14,16,18,20}; printf("输入你想插入的一个数字\\n"); scanf("%d",&n); for(i=0;i<N-1;i++) { if(i>=N-2) { num[N-1]=n; } if(n<=num[i]) { for(m=N-2;m>=i;m--) { num[m+1]=num[m]; } num[i]=n; break; } } for(i=0;i<N;i++) { printf("%d ",num[i]); } return 0; }
程序运行结果
3.实验要求
用数组实现火柴棍等式
代码
#include<stdio.h> int main() { int a,b,c, gen[10]={6,2,5,5,4,5,6,3,7,6}; for(a=0;a<=9;a++) { for(b=0;b<9;b++) { c=a+b; if(c<9) { if(gen[a]+gen[b]+gen[c]==12) { printf("%d+%d=%d\\n",a,b,c); } } } } return 0; }
程序运行结果
附加题
实验要求 输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…
代码
程序运行结果
二、知识点总结
1. 数组的定义,数组的初始化和赋值。
一堆数组的定义:数组类型 数组名【常量表达式】
数组不初始化,其 元素值为随机数
只给部分数组元素赋初值,则其后的元素被初始为0
全部数组元素赋初值时,可不指定数组长度
在数组定义后对数组元素进行动态赋值,通常用循环结构实现
2. 明确以下问题:能否给数组名赋值?为什么?C语言会对数组下
标做越界检查吗?那么我们写程序时应该注意什么?
数组元素的下标采用的是元素相对于数组起始地址的偏移量,所以从0开始顺序编号
数组名中存放的是一个地址常量,他代表整个数组的首地址。同一数组中的所有元素。同一数组中的所有元素按其下标的顺序占用一段连续的存储单元
数组元素的引用格式:数组名【下标 】
下标可以是非负的整形常量或其值为非负整型数据的表达式,取值范围是0-(元素个数-1)
在编写程序时,保证数组下标不越界是十分重要的
一个数组元素 实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对他进行赋值和参与各种运算。
3. 对数组数据的访问一定是跟循环结构分不开的,一般情况下,循环变量的值随数组元素的下标变化。学会灵活运行循环结构完成对数组数组的处理。
4.通过火柴棍等式问题,理解利用函数、数组对程序的优化。
三、实验总结
1.for语句后面不加分号
2.不能对数组整体引用
以上是关于第八次作业的主要内容,如果未能解决你的问题,请参考以下文章