考试题目2

/*
1. 用户每次任意输入一个不大于60000的整数;
2. 程序计算历史输入数据的平均值、最大值、最小值;
3. 程序输出:用户已经输入的次数与每次输入的数据,并输出历史数据的平均值、最大值、最小值,并给出历史数据的升序排列;
4. 用户可以任意删除某次输入的历史数据;
5. 用户输入的次数,在软件层面,没有限制。

*/

#include<stdio.h>
#include<stdlib.h>

#define N 100

void pxu(int *a,int n)
{
int i, j, *p, k;
for(i=0;i<n-1;i++)
{
p=a+i;
for(j=i+1;j<n;j++)
{
if(*p > *(a+j))
{
k=*p;
*p=*(a+j);
*(a+j)=k;
}
}
}

}

main()
{
int a[N];
int i, j=0, sun=0,k=1;
int n=1;

for(i=0;i<n;i++)
{
printf("请输入一个大于6000的正整数,否则退出:");
scanf_s("%d",&a[i]);
if(a[i] <=6000 && a[i] >= 0)
{
++n;j++;
}
else;
}

system("cls");

for(i=0;i<n-1;i++)
{
printf("第%d次输入为: %d\n",k++,a[i]);

}


for(i=0;i<n-1;i++)
{
sun+=a[i];
}
printf("平均值取整数为%d\n",sun/j);

pxu(a,j);

printf("按升序排列");
for(i=0;i<j;i++)
{
printf("%5d",a[i]);
}

printf("\n最小值为%d",a[0]);
printf("\n最大值为%d",a[j-1]);
}

posted @ 2014-03-21 16:05  wrule  阅读(135)  评论(0编辑  收藏  举报