用三目运算符由小到大输出三个数

#include //输入三个整数x,y,z,由小到大输出 int main() { int x,y,z,max,min,average; printf("输入三个整数\n"); scanf("%d%d%d",&x,&y,&z); min=xz?x:z):(y>z?y:z); max>average>min; printf("%d\n",min); printf("%d\n",average); printf("%d\n",max); return 0; } 初学c提问,代码有什么问题?谢谢~

int main() 
{ 
	int x, y, z, max, min; 
	float average;
	printf("输入三个整数\n"); 
	scanf_s("%d%d%d", &x, &y, &z);
	min = y < (x < z ? x : z) ? y : (x < z ? x : z);
	max = y >(x > z ? x : z) ? y : (x >z ? x : z);
	average = (x + y + z) / 3.0;//平均值应该是小数
	printf("%d\n", min); 
	printf("%f\n", average); 
	printf("%d\n", max); 
	return 0; 
}

 

 min=xz?x:z):(y>z?y:z);这个代码错误吧

 min=x>z?x:z):(y>z?y:z);

min = xz ? x : z):(y > z ? y : z); 

这句话错了

代码如下,如有帮助,请采纳一下,谢谢。

#include <stdio.h>

int main() 
{ 
	int x,y,z,max,min,average; 
	printf("输入三个整数\n"); 
	scanf("%d%d%d",&x,&y,&z); 
	min = x < (y<z?y:z)?x:(y<z?y:z);
	max = x > (y > z? y:z)? x:(y > z? y:z);
	average = x > (y > z? y:z) ? (y > z? y:z):x;
	printf("%d\n",min); 
	printf("%d\n",average); 
	printf("%d\n",max); 
	getchar();
	getchar();
	return 0; 
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632