注册 登录
编程论坛 C语言论坛

求助>。<帮忙解决这个问题

frecklesss 发布于 2020-03-20 21:18, 1827 次点击
只有本站会员才能查看附件,请 登录



要怎么用男兔子的号码替代匹配度输出呢?

程序代码:
#include<stdio.h>
#include<math.h>
int main(){
    int i,h,w,age,boyh,boyw,boyage,girlh,girlw,girlage;
    float love,min=0.0;
    h=boyh-girlh;
    w=boyw-girlw;
    age=boyage-girlage;
    printf("请输入女兔子数据:");
    scanf("%d%d%d",&girlh,&girlw,&girlage);
    i=1;
    while(i<5){
         if(girlh<10&&girlw<5&&girlage<1)
            break;
         if(girlh>30&&girlw>20&&girlage>10)
            break;
         else{
            printf("请输入男兔子数据:");
              scanf("%d%d%d",&boyh,&boyw,&boyage);
            love=fabs(h-5)+1/2*(fabs(w-10))+2*(fabs(age-2));
            printf("%.2f\n",love);
            i++;
         }
    }
    for(i=1;i<5;i++){
        if(min>love)
        min=love;
        else
        continue;
    }   
    printf("匹配度为%.2f的男兔子是优先入选者!",min);
    return 0;
}
4 回复
#2
rjsp2020-03-20 21:23
h=boyh-girlh; 就不对了,因为 boyh 和 girlh 还没被赋值呐
#3
frecklesss2020-03-20 21:34
回复 2楼 rjsp
啊!改了一下

程序代码:
#include<stdio.h>
#include<math.h>
int main(){
    int i,boyh,boyw,boyage,girlh,girlw,girlage;
    float h,w,age,love,min=0.0;
    printf("请输入女兔子数据:");
    scanf("%d%d%d",&girlh,&girlw,&girlage);
    i=1;
    while(i<5){
         if(girlh<10&&girlw<5&&girlage<1)
            break;
         if(girlh>30&&girlw>20&&girlage>10)
            break;
         else{
            printf("请输入男兔子数据:");
              scanf("%d%d%d",&boyh,&boyw,&boyage);
            h=float(boyh-girlh);
            w=float(boyw-girlw);
            age=float(boyage-girlage);
            love=fabs(h-5)+1/2*(fabs(w)-10)+2*(fabs(age)-2);
            printf("%.2f\n",love);
            i++;
         }
    }
    for(i=1;i<5;i++){
        if(min>love)
        min=love;
        else
        continue;
    }   
    printf("匹配度为%.2f的男兔子是优先入选者!",min);
    return 0;
}
#4
forever742020-03-20 23:20
无效数据是不分男女的
你既然不用数组就不能最后再比较大小
选最小需要一个很大的初始值然后用小的替换
1/2得0啊,用0.5代替不好么?
要输出号码你得有号码啊
循环这样写会执行4次,小心最后一只告你

[此贴子已经被作者于2020-3-20 23:26编辑过]

#5
maomao123452020-03-24 17:59
是不是要用数组呢?
1