c语言 任意输入3个数据,输出它们的平均值和最小的一个数。

 我来答
明月看尽沧桑
推荐于2018-03-06 · TA获得超过257个赞
知道小有建树答主
回答量:290
采纳率:0%
帮助的人:137万
展开全部

#include <stdio.h>

int main(void)
{
    float a,b,c,min;
    
    printf("Please input three numbers:");
    scanf("%f%*c%f%*c%f",&a,&b,&c);
    
    printf("The average is:%f\n",(a + b + c) / 3);
    
    switch((a >= b) + (a == b))
    {
        case 0 :
        case 2 :
            if(a < c)
                min = a;
            else
                min = c;
            break;
        case 1 :
            if(b < c)
                min = b;
            else
                min = c;
            break;
        default:
            break;            
    }
    
    printf("The minimun is:%f\n",min);
    
    return 0;
}


PS:算法并不是最优的,只是这么写看上去厉害一点;真要说起来,级联式if else 才是最简单的。

White_MouseYBZ
2016-03-09 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6283万
展开全部
#include "stdio.h"
int main(void){
    double a,b,c;
    printf("Please enter 3 data...\n");
    scanf("%lf%lf%lf",&a,&b,&c);
    if(a<=b && a<=c)
        printf("The min is %f\n",a);
    else if(b<=a && b<=c)
        printf("The min is %f\n",b);
    else 
        printf("The min is %f\n",c);
    printf("The average is %f\n",(a+b+c)/3);
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-03-09
展开全部
int main ()
{
double n,m,a,b,c;
while (~scanf ("%lf%lf%lf",&a,&b,&c))
{
n = (a + b + c) * 1.0 / 3;
a > b ? (b > c ? m = c : m = b) : (a > c ? m = c : m = a);
printf ("%lf %lf\n",n,m);
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lichenxwlb
2016-03-09 · TA获得超过167个赞
知道答主
回答量:132
采纳率:0%
帮助的人:55.5万
展开全部
楼上的答案是错的..手机不太好打 给你主要的吧 int minn=min(min(a,b),c);
int d=(a+b+c)/3;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式