hsk


私信TA

用户名:dotcpp0644469

访问量:3095

签 名:

有志者,事竟成

等  级
排  名 2721
经  验 2177
参赛次数 0
文章发表 23
年  龄 0
在职情况 学生
学  校 河南科技大学
专  业 新一代电子信息技术

  自我简介:

解题思路:
最关键的地方就是--保留两位小数
注意事项:
保留两位小数的方式

  1. 最简单的就是--printf("%.nlf",xx);---表示保留n位小数

  2. setprecision(n)+fixed的方式---cout<<fixed<<setprecision(n)<<xx<<endl;

  3. round函数是用来四舍五入的(得到一个整数),也可以间接的用来保留小数位数的四舍五入,但是不能完全满足保留几位小数的要求,

  例如,原数2.3,只使用round,2.3*100=230/100=2.3,达不到保留两位小数的要求

但其实最简单的就是printf("%.nlf",xx),是带有四舍五入的保留小数位数;

参考代码:

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int n;
  cin>>n;
  int score;
  int max=-1;
  int min=101;
  int summ=0;
  for(int i=1;i<=n;++i){
      cin>>score;
      if(score<min){
        min=score;
      }
      if(score>max){
          max=score;
      }
      summ+=score;
  }
  double sum=1.0*summ/n;
  cout<<max<<endl;
  cout<<min<<endl;
  cout<<fixed<<setprecision(2)<<round(sum*100)/100<<endl;    //这里会出现一个问题,假如sum是整数的话,起不到保留两位小数的作用

  return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »