3568 - 6.cpp

统计长整数n(最多10)的各个位上数字的平均值,最小值

n=123114350时,先输出2.22(用%.2f 保留2位小数),在输出0(表示最小数字)


题目输入

输入一个长整型数据。 (多组输入数据)

题目输出

平均值,最小值,每个值用1个空格分隔。(多组输出数据)

输入/输出样例

题目输入

123114350
231412356

题目输出

2.22 0
3.00 1

C语言解答

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main()
{
   // freopen("in","r",stdin);
  //  freopen("out","w",stdout);

  int max,min,i,cnt=0;
    long  n;
	float sum,ave;
  while(scanf("%ld",&n)!=EOF)
  {
	max=n%10;
	min=n%10;
	sum=0;
	cnt=0;
			while (n) {
				i=n%10;
				sum+=i;
				if(max<i)
					max=i;
				if(min>i)
					min=i;
				n/= 10;
				cnt++;
			}
		   ave=sum/cnt;
			printf("%.2f %d %d\n",ave,max,min);
  }


  return 0;
}

C++解答

#include<stdio.h>
int main()
{
	int a[10],i,k,min;
	long int n;
	float sum,ave;
	while(scanf("%d",&n)!=EOF)
	{
		i=0,sum=0;
		while(n>0)
		{
			a[i]=n%10;
			n=n/10;
			i++;
		}
		min=a[0];
		for(k=0;k<i;k++)
		{
			sum=sum+a[k];
			if(min>=a[k])
				min=a[k];

		}
		ave=sum*1.00/i;
		printf("%.2f %d\n",ave,min);

	}
                       return 0;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题