谁的BMI指数最佳,求小数的某一位,明明的随机数,离散化基础

本文介绍了如何通过C++编程来计算一组人的BMI指数,并找出最接近标准BMI指数21的人。此外,还提供了两个附加的算法示例:一个是求特定位置的小数;另一个是统计随机数中唯一数的数量及打印。

谁的BMI指数最佳

#include<bits/stdc++.h>
using namespace std;
struct BMI
{
	string name;
	double h;
	double w;
	double b;
}a[111];
int main()
{
    int n,mini;
    double minn=1000;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    	cin>>a[i].name>>a[i].h>>a[i].w;
    	a[i].b=a[i].w/(a[i].h*a[i].h);
    	if(abs(a[i].w/(a[i].h*a[i].h)-21)<minn)
    	{
    		minn=abs(a[i].w/(a[i].h*a[i].h)-21);
    		mini=i;
		}
	}
	cout<<a[mini].name;
	printf(" %.2lf",a[mini].b);
    return 0;
}

求小数的某一位

#include<bits/stdc++.h>
using namespace std;           
int main()
{
	int n,sum=0,t=0;
	cin>>n;
	for(int i=1;;i++)
	{
		for(int j=1;j<=i;j++)
		{
			t++;
			sum=sum+i;
			if(t==n)
			{
				cout<<sum;
				return 0;
			}
		}
	}
	return 0;
} 

明明的随机数

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int b[1001],n,i,j,m=0,x;
	memset(b,0,sizeof(b));
	cin>>n;
	for(i=1;i<=n;i++)
	{
		cin>>x;
		if(b[x]==0) m++;
		b[x]++;
	}
	cout<<m<<endl;
	for(i=0;i<=1000;i++)
		if(b[i]>0) cout<<i<<" ";
	return 0;
}

离散化基础

#include<bits/stdc++.h>
using namespace std;
struct node
{
	int data;
	int rank;
	int index;
};
node a[10001];
int n;
bool comp1(node x,node y)
{
	return x.data<y.data;
}
bool comp2(node x,node y)
{
	return x.index<y.index;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].data;
		a[i].index=i;
	}
	sort(a+1,a+1+n,comp1);
	for(int i=1;i<=n;i++)
		a[i].rank=i;
	sort(a+1,a+1+n,comp2);
	for(int i=1;i<=n;i++)
		cout<<a[i].rank<<' ';
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值