数据统计
输入 一些整数,求出他们的最小值,最大值,平均值,输入保证这些数都是不超过1000的整数
#define LOCAL
#include<stdio.h>
#define INF 1000000000
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("date.out","w",stdout);
#endif
int x,n=0,min=INF,max=INF,s=0;
while(scanf("5d,&x")==1)
{
s+=x;
if(x<min) min=x;
if(x>max) max=x;
// printf("x=%d,min=%d,max=%d\n",x,min,max);
n++;
}
printf("%d %d %.3lf\n",min,max,(double)s/n);
return 0;
}
这段代码有问题吗?还是我对重定向理解错了,该怎么运行那?自己建个文件?还是在屏幕上输入
[解决办法]
#define LOCAL
#include<stdio.h>
#define INF 1000000000
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("date.out","w",stdout);
#endif
int x,n=0,min=INF,max=INF,s=0;
while(scanf("%d,&x")==1)
{
s+=x;
if(x<min) min=x;
if(x>max) max=x;
// printf("x=%d,min=%d,max=%d\n",x,min,max);
n++;
}
printf("%d %d %.3lf\n",min,max,(double)s/n);
return 0;
}
#define LOCAL
#include<stdio.h>
#define INF 1000000000
int main()
{
#ifdef LOCAL
freopen("data.in","r",stdin);
freopen("date.out","w",stdout);
#endif
/*
int x,n=0,min=INF,max=INF,s=0;
while(scanf("5d,&x")==1)
*/
int x,n=0,min=INF,max=-INF,s=0;
while(scanf("%d",&x)==1)
{
s+=x;
if(x<min) min=x;
if(x>max) max=x;
// printf("x=%d,min=%d,max=%d\n",x,min,max);
n++;
}
printf("%d %d %.3lf\n",min,max,(double)s/n);
return 0;
}