第八次作业
Posted 计科myf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八次作业相关的知识,希望对你有一定的参考价值。
实验一:
输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include<stdio.h> int main() { int max,min,n,i,sum=0,grade[100],grade1,a=0,b=0,c,d=0; double average; printf("请输入您要输入学生成绩的个数:\\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("请输入学生成绩:\\n"); scanf("%d",&grade[i]); sum=sum+grade[i]; } average=(double)sum/n; printf("这%d名同学的平均分数为:%1.2lf\\n",n,average); max=grade[0]; min=grade[0]; for(i=0;i<n;i++) { if(max<grade[i]) { max=grade[i]; } if(min>grade[i]) { min=grade[i]; } } for(i=0;i<n;i++) { if(max==grade[i]) { printf("最高分有第%d位同学\\n",i+1); } if(min==grade[i]) { printf("最底分有第%d位同学\\n",i+1); } } printf("请输入您想查询的成绩:\\n"); scanf("%d",&grade1); for(i=0;i<n;i++) { if(grade1==grade[i]) { c=i; printf("成绩为%d的有第%d位同学\\n",grade1,c+1); d++; } } printf("最高分是%d,最低分数是%d,分数为%d的同学有%d位",max,min,grade1,d); return 0; }
实验二:
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include<stdio.h>
int main()
{
int a,b,i1,i2,i,number[11]={2,4,6,8,10,11,13,15,17,19};
printf("请输入一个整数");
scanf("%d",&a);
if(a<number[0])
{
for(i1=10,i2=9;i2>=0;i1--,i2--)
{
number[i1]=number[i2];
}
number[0]=a;
}
else if(a>number[9])
{
number[10]=a;
}
else
{
for(i=0;i<9;i++)
{
if(a<number[i])
{
b=i;
break;
}
}
for(i1=10,i2=9;i2>=b;i1--,i2--)
{
number[i1]=number[i2];
}
number[b]=a;
}
for(i=0;i<11;i++)
{
printf(" %d",number[i]);
}
return 0;
}
实验三:
3.用数组实现火柴棍等式
#include<stdio.h> int main() { int a,b,c,sum,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; } sum=gen[a]+gen[b]+gen[c]; if(sum==12) { printf("%d+%d=%d\\n",a,b,c); } } } return 0; }
附加题:
输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…
#include<stdio.h>
int main()
{
int a[10]={0},i;
char c;
while(1)
{
if((c=getchar())==\'\\n\')
{
break;
}
if(c>=\'0\'&&c<=\'9\')
a[c-\'0\']++;
}
for(i=0;i<=9;i++)
printf("%d字符的个数:%d\\n",i,a[i]);
}
知识点总结:
1 数组元素之间是有序的,数组中的每一个数据都具有相同的数据类型;
2 数组具有有序性和正体性;
3 根据数组元素类型的不同,可以分为整形数组、浮点型数组等多种类型;
4 每一个数组元素都表示一个变量,在使用时必须进行赋值;
5 对数组元素赋初值是将数组元素的初值按顺序依次放在花括号中,中间用逗号隔开;
6 对数组的全部元素赋初值时可以省略数组长度,对数组部分元素赋初值时不能省略数组长度
实验总结:
1 数组必须先定义后使用;
2 要注意数组的下标是从零开始的;
3 c语言中数组的越位系统不会提示错误,当发生越位后有可能会吧重要内容覆盖,因此一定不要让数组下标越位;
4 确定数组长度用[],赋值用{};
5 当用switch时如果括号里是字符型的,在下面的语句要带上单引号;
以上是关于第八次作业的主要内容,如果未能解决你的问题,请参考以下文章