第八次作业

 1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。

#include<stdio.h>
#define N 1000
int main()
{
	int sum=0,a=1,b=1,c,d,e=0,i,max,min,score[N];
	float average;
    i=0;
    printf("请输入学生的成绩,输入负数时退出
");
	scanf("%d",&score[i]);
	e++;
	while(score[i]>=0)
	{
		sum=sum+score[i];
	    i++;
	printf("请输入学生的成绩,输入负数时退出
");
	scanf("%d",&score[i]);
	e++;
	}
	average=(float)sum/i;
	printf("平均分为%.2f
",average);	
	i=0;
	max=score[0];
    min=score[0];
	while(score[i]>=0&&i<=e)
	{
		if(score[i]>max)
		{
		   	max=score[i];
	    }
	    if(score[i]<min)
		{
		    min=score[i];
	    }
	    i++;
	}
	i=0;
	while(score[i]>=0&&i<=e)
	{
		if(score[i]==max)
		{
			printf("最高分是第%d个学生
",i+1);
		}
		if(score[i]==min)
		{
			printf("最低分是第%d个学生
",i+1);
		}
		i++;
	}
	printf("最高分为%d
最低分为%d
",max,min);
	printf("请输入一个学生的成绩
");
	scanf("%d",&c);
	for(i=0;i<N;i++)
	{
	    if(score[i]==c)
	    {
	    	d=i+1;
			printf("这是第%d个学生
",d);
	    }
    }
	return 0;
 } 

  

2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。

#include<stdio.h>
#define N 11
int main()
{
	int a,b,c,d,i;
	int number[10]={2,4,6,8,10,12,14,16,18,20};
	printf("请输入要插入的数
");
	scanf("%d",&a);
	for(i=0;i<N;i++)
	{
		if(a<number[i])
		{
			b=i;
			printf("插入到第%d位
",b+1);
			break;
		}
	}
	if(a>=number[i])
	{
		b=10;
	    printf("插入到第%d位
",b+1);
				
	}
	for(i=9;i>b-1;i--)
	{
		number[i+1]=number[i];
	}
	number[b]=a;
	for(i=0;i<=10;i++)
	{
		printf("% d",number[i]);
	 } 
	return 0;
}

  

3.用数组实现火柴棍等式

#include<stdio.h>
#define N 10
int main()
{
	int x,y,z,a,b,c,i;
	int number[10]={6,2,5,5,4,5,6,3,7,6};
	for(x=0;x<=9;x++) 
	{   
	    a=number[x];
	    for(y=0;y<=9;y++)
	    {   
		    b=number[y];
	        for(z=0;z<=9;z++)
			{
				c=number[z];
				if(z==x+y)  
		        {    	
				    if(a+b+c==12)
					{    
						printf("%d+%d=%d ",x,y,z);
					}	
				} 
			}
		}
	}
	return 0;
}

  

知识点总结:

1.数组先定义后使用,最好用#define宏定义,只能逐个引用数组元素

2.数组的表示方式  数组名[下标]  下标是从零开始的

3.数组中的每一个元素都属于同一种数据类型

4.数组创建后不能改变大小,元素在内存中按顺序排列

实验总结:

1.输出学生成绩时对应数组下标要加一,因为下标是从零开始

2.输出最高分和最低分时,有可能有多个学生

3.在一个数组中插入数时,先将数组中的元素向前或向后移动

原文地址:https://www.cnblogs.com/jg666666/p/6103173.html