C语言一维数组练习例题及答案

1.运动场上,一群学生正绕操场跑步,看台上一个小朋友专注地看着,他想找出他们中身高最高的人排在第几位。请编写程序模拟找出最大值的排位。要求先往数组中输入10个元素,再输出数组中最大值的下标。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:9

#include
int main()
{
	int i,n,z,max=0,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	n=a[max];
	for(i=0;i<10;i++)
	{
		if(a[i]>a[max])
		{
			max=i;
		}

	}
	printf("%d\n",max);
	return 0;
}


2.运动场上,一群学生正绕操场跑步,看台上一个小朋友专注地看着,他想找出他们中身高最低的人。请编写程序模拟找出最小值。要求先往数组中输入10个元素代表每个人的身高,再输出数组中最小值。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:1

#include
int main()
{
	int i,n,z,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	n=a[0];
	for(i=0;i<10;i++)
	{
		if(a[i]



3.某考试系统需要计算出某次考试后学生的平均成绩,请编写程序模拟平均值的计算过程,要求先往数组中输入10个元素,再计算并输出数组中所有元素的平均值。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:5.500000

#include
int main()
{
	int i,n,z,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	n=a[0];
	z=0;
	double m;
	for(i=0;i<10;i++)
	{
		z=z+a[i];
	}
	m=z/10.0;
	printf("%f\n",m);
	return 0;
}


4.运动场上,一群学生正绕操场跑步,看台上一个小朋友专注地看着,他想找出他们中身高最低的人排在第几位。请编写程序模拟找出最小值的排位。要求先往数组中输入10个元素,再输出数组中最小值的下标。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:0

#include
int main()
{
	int i,n,z,min=0,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	n=a[min];
	for(i=0;i<10;i++)
	{
		if(a[i]


5.某考试系统能够计算出某次考试后学生的平均成绩,但任课老师还希望能有一些特殊的计算平均值的方式,比如计算所有得分为偶数的学生的平均值,请编写程序模拟平均值的计算过程,要求先往数组中输入10个元素,再计算并输出数组中所有偶数元素的平均值。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:6.000000

#include
int main()
{
	int i,n,g=0,a[10];
	double sum=0,avg;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]%2==0)
		{
			g++;
			sum=sum+a[i];
		}

	}
	avg=sum/g;
	printf("%f\n",avg);
	return 0;
}


6.操作上,一群学生正在整队,体育老师打算对他们按身高次序进行一下排序,但他只想先做一步,即想将身高最高的与身高最低的两位同学互换位置。请编写程序模拟这一互换过程,要求先往数组中输入10个元素代表身高,互换最大值与最小值后(均从下标0开始找起),再输出数组的所有元素。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:10 2 3 4 5 6 7 8 9 1(最后一个元素后没有空格)

#include
int main()
{
	int i,maxdex=0,mindex=0,temp,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]a[maxdex])
		{
			maxdex=i;
		}
	}
	printf("%d\n",maxdex);
	temp=a[maxdex];
	a[maxdex]=a[mindex];
	a[mindex]=temp;
	for(i=0;i<10;i++)
	{
		printf("%d ",a[i]);
	}
	return 0;
}

7.某仓库管理系统需要定期盘点满足某一特征的产品在各个仓库中的存量,比如,需要盘点各仓库中库存量是奇数的产品的数量,请编写程序模拟这一过程,要求先往数组中输入10个元素,再计算并输出数组中所有奇数元素的个数。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:5

#include
int main()
{
	int i,n,g=0,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]%2!=0)
		{
			g++;
		}

	}
	printf("%d\n",g);
	return 0;
}


8.某仓库管理系统需要定期盘点满足某一特征的产品在各个仓库中的存量,比如,需要盘点各仓库中库存量是奇数的产品的数量,请编写程序模拟这一过程,要求先往数组中输入10个元素,再计算并输出数组中所有偶数元素的个数。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:5

#include
int main()
{
	int i,g=0,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]%2==0)
		{
			g++;
		}

	}
	printf("%d\n",g);
	return 0;
}


9.某仓库管理系统需要定期汇总满足某一特征的产品在各个仓库中的总和,比如,需求汇总各仓库中库存量是偶数的产品的总和,请编写程序模拟这一过程,要求先往数组中输入10个元素,再计算并输出数组中所有偶数元素的和。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:30

#include
int main()
{
	int i,sum=0,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]%2==0)
		{
			sum=sum+a[i];
		}

	}
	printf("%d\n",sum);
	return 0;
}


10.某仓库管理系统需要定期汇总满足某一特征的产品在各个仓库中的总和,比如,需求汇总各仓库中库存量是偶数的产品的总和,请编写程序模拟这一过程,要求先往数组中输入10个元素,再计算并输出数组中所有奇数元素的和。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:30

#include
int main()
{
	int i,sum=0,a[10];
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		if(a[i]%2!=0)
		{
			sum=sum+a[i];
		}

	}
	printf("%d\n",sum);
	return 0;
}


11.某考试系统能够计算出某次考试后学生的平均成绩,但任课老师还希望能有一些特殊的查找学生的方式,比如查找考分超过平均值的学生的成绩,请编写程序模拟查找过程,要求先往数组中输入10个元素,再输出数组中比平均值大的所有元素。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:6 7 8 9 10

#include
int main()
{
	int i,n,sum=0,a[10];
	double avg;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		sum=sum+a[i];
	}
	avg=sum/10.0;
	for(i=0;i<10;i++)
	{
		if(a[i]>avg)
		{
			printf("%d ",a[i]);
		}
	}
	return 0;
}


12.某仓库管理系统需要定期汇总各个仓库的产品存量总和,假定有10个仓库,请编写程序模拟这一过程,要求先往数组中输入10个元素,再计算并输出数组中所有元素的和。
例如:输入:1 2 3 4 5 6 7 8 9 10
输出:55

#include
int main()
{
	int i,a[10],sum=0;
	for(i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<10;i++)
	{
		sum=sum+a[i];
	}
	printf("%d\n",sum);
	return 0;
}

你可能感兴趣的:(算法,c++,c语言)