以蓝桥杯 【成绩统计】为例
//成绩统计
#include<iostream>
#include<math.h>
using namespace std;
//函数round方法 #include<math.h>
int main1()
{
int n,x,cnt1=0,cnt2=0;
double rate1,rate2;
cin>>n;
for (int i=1;i<=n;i++)
{
cin>>x;
if(x>=60) cnt1++;
if(x>=85) cnt2++;
}
rate1=1.0*cnt1/n*100; // cnt1/n为整数
rate2=1.0*cnt2/n*100; // 需要×1.0 实数化 题意为整数所以×100
cout<<round(rate1)<<"%"<<endl;
cout<<round(rate2)<<"%"<<endl;
}
//printf 控制输出方法
int main2()
{
int n,x,cnt1=0,cnt2=0;
double rate1,rate2;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
if(x>=60) cnt1++;
if(x>=85) cnt2++;
}
rate1=(double) cnt1/n*100;
rate2=(double) cnt2/n*100;
printf("%.0lf%%\n",rate1);
printf("%.0lf%%\n",rate2);
return 0;
}
//整数+0.5
int main3()
{
int n,x,cnt1=0,cnt2=0;
int rate1,rate2;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
if(x>=60) cnt1++;
if(x>=85) cnt2++;
}
rate1= 1.0*cnt1/n*100+0.5;
rate2= 1.0*cnt2/n*100+0.5;
cout<<rate1<<"%"<<endl;
cout<<rate2<<"%"<<endl;
return 0;
}
// <<setprecision(0)<<fixed<<数字 #include <iomanip>
#include<iomanip>
int main()
{
int n,x,cnt1=0,cnt2=0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>x;
if(x>=60) cnt1++;
if(x>=85) cnt2++;
}
cout<<setprecision(0)<<fixed<<(1.0*cnt1/n*100)<<"%"<<endl; //保留零位小数
cout<<setprecision(0)<<fixed<<(1.0*cnt2/n*100)<<"%"<<endl;
return 0;
}