c语言:请编写函数myfun( ),其功能是:从3个形参a,b,c中找出中间的那个数,作为函数值返回。 一道C语言题目 有3个整数a,b,c,由键盘输入,输出其中最...

作者&投稿:鲁壮 (若有异议请与网页底部的电邮联系)

#include <stdio.h>

int myfun(int a,int b,int c){

int t; 

t=(a>b)?(b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b)); 

return t; 

}

main(){ 

int a1=3,a2=5,a3=4,r;

r=myfun(a1,a2,a3);

printf("
The middle number is: %d
",r);

}

扩展资料:

三目运算符:

condition ? expression1 : expression2

expression1和expression2是两个操作数。如果condition = true,则结果为expression1,否则为expression2。

跟下面的if...else...类似:

if(表达式1){

表达式2;

}else{

表达式3;

}

三目表达式和if-else语句可以互换:

int num1=10,num2=20,num3=30;

int res = num1 ? num1+num2 : num1+num3;

printf("res=%d
",res);//30

    

int num1=10,num2=20,num3=30;

int res = 0;

if(num1){

res = num1 + num2;

}else{

res = num1 + num3;

}

printf("res=%d
",res);



#include <stdio.h>
int myfun(int a, int b, int c)
{
    if (a > b && a > c){
        if (b > c)return b;
        else return c;
    }
    else if (b > c){
        if (a > c)return a;
        else return c;
    }
    else {
        if (a > b)return a;
        else return b;
    }
}
int main()
{
    printf ("%d
", myfun(1, 3, 2));
    return 0;
}


#include <stdio.h>
#define TOTAL_NUMBER 3

int myfun(int a,int b,int c)
{
int i,j;
int temp;
int all[TOTAL_NUMBER];
all[0]=a;
all[1]=b;
all[2]=c;
for(i=0;i<TOTAL_NUMBER;i++)
for(j=i+1;j<TOTAL_NUMBER;j++)
{
if (all[i]>all[j])
{
temp=all[i];
all[i]=all[j];
all[j]=temp;
}
}
return all[TOTAL_NUMBER/2];
}

int main()
{
int a,b,c;
printf("Please input 3 numbers:\n");
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
printf("The middle number is %d\n",middle(a,b,c));
}

C语言 写一个函数 返回三个整数中的中间数~

//#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"int midnum(int a,int b,int c){ if(a>=b && b>=c || c>=b && a=c && c>=b || b>=c && a<=c) return c; else return a;}int main(void){//测试一下正确性…… int a=9,b=0,c=7; printf("The MID is %d
",midnum(a,b,c)); return 0;}

你要输入整数,所以要定义a,b,c为整数,而不是float,输入输出不能用%f,应用%d,还有t未使用而使用了未定义的max故应把t改为max;
所以是
int main (void)
{ int a,b,c,max;
printf("请输入三个任意整数:
");
scanf("%d%d%d",&a, &b, &c);
if(a>=b) max=a;
else max=b;
if(b>=c) max=b;
else max=c;
if(c>=a) max=c;
else max=a;
printf("max=%d
",max);
return 0;}
或者用
#include
int main ()
{ int a,b,c;
printf("请输入三个任意整数:
");
scanf("%d%d%d",&a, &b, &c);
if(b>=a)a=b;
if(c>=a) a=c;
printf("max=%d
",a);
return 0;}