设计-c语言,找出最瘦的人的程序

问题描述

c语言,找出最瘦的人的程序

BMI=w / h^2
设计一个输入若干个人的名字 身高 体重的时候,输出BMI值最小的人的程序。
输入分为若干行。各行以名字 身高(cm) 体重(kg)的顺序输入。完成后以ctrl-d结束。
输入完成后输出BMI最小的人的名字

输入例

taro 183.3 65.5

syo 177.9 63.8

taisuke 173.1 61.1

ryo 175.4 60.0

输出例

taro

求大神帮忙 真的完全没有思路

解决方案

类似这样

 #include<stdio.h>
int main(void){
    double height,weight, bmi = 9999.0;
    char name[32] = {0};
    char res[32] = {0};
    while(scanf("%s%lf%lf", name, &height, &weight) != EOF)
    {
        double cur_bmi = weight / (height * height);
        if(cur_bmi < bmi)
        {
            bmi = cur_bmi;
            strcpy(res, name);
        }
    }
    printf("%sn", res);
}

解决方案二:

c语言和c++有什么本质区别能解释一下吗?

解决方案三:

大神求解。。。。。。。。。。。。。

解决方案四:

我感觉用结构体好些。

     int i,n,y;
     double m[30],x;
     struct
    {
            char    name[20];
            double  weight;
            double  height;
        }bmi[30] ;
    printf("请输入比较的人数n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
    printf("请输入第%d个学生的数据n",i+1);
    scanf("%s%lf%lf",bmi[i].name,&bmi[i].height,&bmi[i].weight);
    m[i]=bmi[i].weight/bmi[i].height/bmi[i].height;
    }
    for(i=1,x=0;i<n;i++)
{
    x=m[0];
    y=0;
    if(m[i]<=m[i-1])
    {
        y=i;
        x=m[i];
    }
}
printf("bmi最小的是%stbmi值为:%f",bmi[y].name,x);

把每个人的bmi放到数组m中,利用冒泡得出最小的bmi值和下标y。bmi[y].name找到最小值的姓名及其他信息

时间: 2024-10-01 16:06:32

设计-c语言,找出最瘦的人的程序的相关文章

c语言 设计一个找出同数值部分排列的程序

问题描述 c语言 设计一个找出同数值部分排列的程序 定义一行的整数的输入有相同连续的地方为"同数值部分排列"找出有最长的同数值部分排列,并输出排列长度及这个数字的程序.最长的同数值部分排列有两个以上的时候,输出最后那个.输入的数字用空格或者换行区别 例1输入:0 1 1 1 2 0 0输出:3 1 例2输入:1 1 1 31 2 223输出:3 2 解决方案 #include <stdio.h>int main(){ int x; int c = 0; int px = -

C语言找出数组中的特定元素的算法解析_C 语言

     问题描述:一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它.能否只用一个额外数组和少量其它空间实现.       思路:如果能用两个辅助数组,那么相对来说简单一点,可定义数组Min和数组Max,其中Min[i]表示自a[i]之后的最小值(包括a[i]),Max[i]表示自a[i]之前元素的最大值.有了这两个辅助数组后,对于a[i],如果它大于Max[i-1]并且小于Min[i+1],那么就符合要求.       但是题目要求

IIS 应用程序池 CPU 100% 分析软件,找出具体有问题的ASP程序URL_win服务器

IIS应用程序池分析软件有什么作用?     一个 IIS 6.0 / 7.0 服务器上可能存在着100-300个WEB站点,如果其中一个站点的ASP程序设计存在问题,那么将会引起CPU 持续占用100%,从而引起同一个服务器其他站点不能正常工作,或访问缓慢.     如果不能快速找出有问题的WEB站点,同一个服务器的用户QQ.电话可能不断.客户总是抱怨说什么服务器,这么慢老是出问题?怎么给客户解释-- 如何快速查找有问题的WEB站点? 找到后就直接关闭WEB站点吗?关闭站点意味着拒绝一个客户.

巧妙找出win7系统后台运行的程序

  1.按组合键(win键+R)打开运行窗口,在文本框中输入"msinfo32",按回车键执行命令,如下图所示: 2.随后会弹出一个系统信息窗口,我们依次展开"系统摘要-软件环境-正在运行任务",便可以在右边框中看到系统中正在运行的所有程序的信息,包括优先顺序.最小工作集等等,如下图所示: 通过上面简单的两个步骤,我们只需执行一条系统内置命令即可让所有运行程序通通"现形",是不是很方便呢?你也不妨在自己的电脑上操作下,看看都有哪些程序正在运行吧!

如何找出发生SEGV内存错误的程序

​问题 ​18-Feb-2014 15:48:45] WARNING: [pool www] child 11274 exited on signal 11 (SIGSEGV) after 0.089068 seconds from start 显然11274进程运行过程中遇到了段错误导致进程异常退出了.继续追查发现是php的hsf扩展在启动初始化的时候遇到内存问题导致段错误. 沧老师这个段错误进程你怎么定位到是hsf扩展的问题? 分析过程​发现段错误: 日志中的信息表明,进程号为11274的进

C++实现在文本中找出某个单词的位置信息_C 语言

代码很简单,功能也很单一,这里就不多废话了,大家直接看代码吧. #include <stdio.h> #include <string.h> int main(int argc,char**argv){ char *token = argv[1]; FILE *fp = fopen("./test.txt","a+"); char buf[1024]; char *p; int s=-1,len=strlen(token),line=0,po

输入n个整数并找出其中的最小k个数

题目: 输入n个整数, 找出其中的最小k个数. 使用快速排序(Quick Sort)的方法求解, 把索引值(index)指向前k个数. 代码: /* * main.cpp * * Created on: 2014.6.12 * Author: Spike */ /*eclipse cdt, gcc 4.8.1*/ #include <stdio.h> #include <stdlib.h> int RandomInRange(int min, int max) { int rand

Powershell小技巧之找出最大最小值_PowerShell

要找出对象的最大最小值,请使用Measure-Object: $list = 1,4,3,1,3,12,990 $result = $list | Measure-Object -Minimum -Maximum $result.Minimum $result.Maximum 它支持多个数据并且还支持不通的数据类型,这里将它小小的修改就能返回WINDOWS目录下最近新创的文件: $list = Get-ChildItem -Path C:\windows $result = $list | Me

C语言实现找出二叉树中某个值的所有路径的方法_C 语言

本文实例讲述了C语言实现找出二叉树中某个值的所有路径的方法,是非常常用的一个实用算法技巧.分享给大家供大家参考. 具体实现方法如下: #include <iostream> #include <vector> #include <iterator> #include <algorithm> using namespace std; vector<int> result; struct Node { Node(int i = 0, Node *pl