
两道C++题 求解答
一、体质指数BMI(BodyMassIndex)是世界公认的一种评定肥胖程度的分级方法,BMI由以下公式计算得到,BMI=weight/hight/hight,通常一个成...
一、体质指数BMI(Body Mass Index)是世界公认的一种评定肥胖程度的分级方法,BMI由以下公式计算得到,BMI=weight/hight/hight,通常一个成人的BMI的数值范围如下:
肥胖程度 男 女
过轻 (0.20)(0.189
适中 【20.25) 【19.24)
过重 【25.30) 【24.29)
肥胖 【30.35) 【24.29)
非常肥胖 >=35 >=34
要求:编写程序,输入性别、体重、身高,输出“该男/女性朋友肥胖程度:xx”或“非法输入”
【运行结果】
请输入性别男(M)或女(F):M
请输入体重(kg):70
请输入身高(m):1.75
该男性朋友的肥胖程度:适中!
二、请递归实现函数,计算n(n>=2)条直线最多有几个交点
要求:输入直线数,输出最多有几个交点或“非法输入”。
【运行结果】
请输入直线数:3
3条直线最多有3个交点 展开
肥胖程度 男 女
过轻 (0.20)(0.189
适中 【20.25) 【19.24)
过重 【25.30) 【24.29)
肥胖 【30.35) 【24.29)
非常肥胖 >=35 >=34
要求:编写程序,输入性别、体重、身高,输出“该男/女性朋友肥胖程度:xx”或“非法输入”
【运行结果】
请输入性别男(M)或女(F):M
请输入体重(kg):70
请输入身高(m):1.75
该男性朋友的肥胖程度:适中!
二、请递归实现函数,计算n(n>=2)条直线最多有几个交点
要求:输入直线数,输出最多有几个交点或“非法输入”。
【运行结果】
请输入直线数:3
3条直线最多有3个交点 展开
2个回答
展开全部
一
#include "iostream.h"
void main()
{
char s;
double w,h;
double BMI;
double mm[4]={19,24,29,34};
double ff[4]={20,25,30,35};
double x[4];
cout<<"请输入性别男(M)或女(F):";
cin>>s;
cout<<"请输入体重(kg):";
cin>>w;
cout<<"请输入身高(m):" ;
cin>>h;
if (w<=0)
{
cout<<"非法输入"<<endl;
return ;
}
if (h<=0)
{
cout<<"非法输入"<<endl;
return ;
}
BMI = w/h/h;
if (s == 'M')
{
cout<<"该男性朋友的肥胖程度:";
for (int i=0;i<4;i++)
{
x[i] = mm[i];
}
}
else if (s == 'F')
{
cout<<"该女性朋友的肥胖程度:";
for (int i=0;i<4;i++)
{
x[i] = ff[i];
}
}
else
{
cout<<"非法输入"<<endl;
}
if (BMI<x[0])
{
cout<<"过轻!"<<endl;
}
else if (BMI>=x[0] && BMI<x[1])
{
cout<<"适中!"<<endl;
}
else if (BMI>=x[1] && BMI<x[2])
{
cout<<"过重!"<<endl;
}
else if (BMI>=x[2] && BMI<x[3])
{
cout<<"肥胖!"<<endl;
}
else
{
cout<<"非常肥胖!";
}
}
二
#include "iostream.h"
int lines(int m)
{
if (m<2)
{
return 0;
}
else if (m == 2)
{
return 1;
}
else
{
return lines(m-1)+m-1;
}
}
void main()
{
int n;
cout<<"请输入直线数:";
cin>>n;
int m = lines(n);
cout<<m<<endl;
}
格式自己调一下,拷到vc下面,Alt+F8
#include "iostream.h"
void main()
{
char s;
double w,h;
double BMI;
double mm[4]={19,24,29,34};
double ff[4]={20,25,30,35};
double x[4];
cout<<"请输入性别男(M)或女(F):";
cin>>s;
cout<<"请输入体重(kg):";
cin>>w;
cout<<"请输入身高(m):" ;
cin>>h;
if (w<=0)
{
cout<<"非法输入"<<endl;
return ;
}
if (h<=0)
{
cout<<"非法输入"<<endl;
return ;
}
BMI = w/h/h;
if (s == 'M')
{
cout<<"该男性朋友的肥胖程度:";
for (int i=0;i<4;i++)
{
x[i] = mm[i];
}
}
else if (s == 'F')
{
cout<<"该女性朋友的肥胖程度:";
for (int i=0;i<4;i++)
{
x[i] = ff[i];
}
}
else
{
cout<<"非法输入"<<endl;
}
if (BMI<x[0])
{
cout<<"过轻!"<<endl;
}
else if (BMI>=x[0] && BMI<x[1])
{
cout<<"适中!"<<endl;
}
else if (BMI>=x[1] && BMI<x[2])
{
cout<<"过重!"<<endl;
}
else if (BMI>=x[2] && BMI<x[3])
{
cout<<"肥胖!"<<endl;
}
else
{
cout<<"非常肥胖!";
}
}
二
#include "iostream.h"
int lines(int m)
{
if (m<2)
{
return 0;
}
else if (m == 2)
{
return 1;
}
else
{
return lines(m-1)+m-1;
}
}
void main()
{
int n;
cout<<"请输入直线数:";
cin>>n;
int m = lines(n);
cout<<m<<endl;
}
格式自己调一下,拷到vc下面,Alt+F8
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询