当前位置:   article > 正文

C++高精度求平均数_利用c++输入1到100之间所有数的平均值

利用c++输入1到100之间所有数的平均值

之前看了看,CSDN的C++高精度求平均数的文章并不多且并不实用,这里就把题和AC代码奉上

时间:1s   空间:256M

题目描述:

给定n个整数,求这n个数的平均数 (向下取整)

输入格式:

第一行输入一个整数n

接下来n行每行一个整数a

输出格式:

按题目描述输出

样例输入1:

4

213

2144332

21332

214324322

样例输出1:

54122549

约定:

n<=10,1<=a<=10^100

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. string s;
  4. int n,x;
  5. int a[1005][10005],c[1005],d[1005];
  6. int lenlen[3];
  7. int main(){
  8. cin>>n;
  9. for(int i=1;i<=n;i++){
  10. cin>>s;
  11. lenlen[2]=s.size();
  12. for(int j=0;j<lenlen[2];j++){
  13. a[lenlen[2]-j][i]=s[j]-'0';
  14. }
  15. lenlen[1]=max(lenlen[1],lenlen[2])+1;
  16. for(int j=1;j<=lenlen[1];j++){
  17. c[j]+=a[j][i];
  18. }
  19. for(int j=1;j<=lenlen[1];j++){
  20. c[j+1]+=c[j]/10;
  21. c[j]%=10;
  22. }
  23. }
  24. while(c[lenlen[1]]==0&&lenlen[1]>1){
  25. lenlen[1]--;
  26. }
  27. for(int i=1;i<=lenlen[1];i++){
  28. d[i]=(x*10+c[lenlen[1]-i+1])/n;
  29. x=(x*10+c[lenlen[1]-i+1])%n;
  30. }
  31. lenlen[2]=1;
  32. while(d[lenlen[2]]==0&&lenlen[1]>lenlen[2]){
  33. lenlen[2]++;
  34. }
  35. for(int i=lenlen[2];i<=lenlen[1];i++) cout<<d[i];
  36. return 0;
  37. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/517589?site
推荐阅读
相关标签
  

闽ICP备14008679号