第八次作业
Posted <柚子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八次作业相关的知识,希望对你有一定的参考价值。
1. 数组的定义,数组元素的引用,数组的初始化和赋值。
#include<stdio.h> #define N 100 int main() { int score[N] ,i,grade,n,sum=0,max,min,x=0,y=0; double ave; printf("请输入学生的个数"); scanf("%d",&n); printf("输入成绩:\\n"); scanf("%d",&grade); score[0]=grade; sum+=grade; max=score[0]; min=score[0]; for(i=1;i<n;i++) { printf("输入成绩:\\n"); scanf("%d",&grade); score[i]=grade; sum+=grade; if(score[i]>max) { max=score[i]; x=i; } if(score[i]<min) { min=score[i]; y=i; } } ave=(double)sum/n; printf("平均数为%.2f,最高分为%d,是第%d个",ave,max,x+1); for(i=x+1;i<n;i++) { if(score[i]==max) printf(",第%d个 ",i+1); } printf("\\n最低分为%d,是第%d个",min,y+1); for(i=y+1;i<n;i++) { if(score[i]==min) printf(",第%d个 ",i+1); } printf("\\n输入一个查询的成绩:\\n"); scanf("%d",&grade); for(i=0;i<n;i++) { if(score[i]==grade) { printf(" 第%d个 ",i+1); } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include<stdio.h> #define N 11 int main() { int numbers[N]={1,2,3,4,5,6,7,8,9,10},number,i,n,a=1; printf("请输入想插入的数。\\n"); scanf("%d",&number); for(i=0;i<N-1;i++) { if(number<=numbers[i]) { a=0; for(n=N-2;n>=i;n--) { numbers[n+1]=numbers[n]; } numbers[i]=number; break; } } if(a) { numbers[N-1]=number; } for(i=0;i<N;i++) { printf(" %d",numbers[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) break; if(gen[a]+gen[b]+gen[c]==12&&a+b==c&&a!=b) { printf("%d+%d=%d\\n",a,b,c); } } return 0; }
二、知识点总结
1.数组的定义
(1)一维数组:数据类型 数组名[数组长度]
(2)引用
数组必须先定义,后使用
只能逐个引用数组元素,不能一次引用整个数组
每个数组元素是一个数组类型变量
数组元素表示形式:
数组名[下标]
下标从0开始
允许快速随机访问
2.赋值
初始化 int a[5]={1,2,3,4,5};相当于a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;
数组不能初始化,其元素值为随机数
只给部分数组元素赋初始值,则其后的元素初始化为0
当全部数组元素赋初始值时,可不指定数组长度
3.数值变量本身(数组名)不能被赋值
三、实验总结
1.整形除整形还是整形,要强制类型转换。
2.数组的下标是从零开始的
3.c语言对数组不作越界检查,要注意
以上是关于第八次作业的主要内容,如果未能解决你的问题,请参考以下文章