3568 - 6.cpp
时间限制 : 1 秒
内存限制 : 128 MB
统计长整数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; }