关于if和switch

xinduhaobang 2008-08-05 01:55:12
输入3个数。。。比较大小。输出最大的那个。。。
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if(a>b) max=a;
else max=b;
if(max>c) max=max;
else max=c;
printf("max=%d\n",max);
}
小弟。想求教大家。如何不用if语句来表示。。
使用switch语句来完成。。。。
Thanks!!!!!!!!!!!!!!!!!!!!!
...全文
185 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjcghe 2008-08-06
  • 打赏
  • 举报
回复
这个问题我以前也接触过,开始的时候我也找不到问题的原因,后来我进了一个技术交流群,这个群里的人挺多的,在里面可以沟通技术,你可以进去看一下.群号是:陆贰捌柒捌零肆叁。另外,这个群里可以接项目。
cumtxxl 2008-08-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 loveeve 的回复:]
5楼的,是不是写的太有技术了?
[/Quote]
这么写行不
max=a>b?a:b;
max=max>c?max:c
loveeve 2008-08-05
  • 打赏
  • 举报
回复
5楼的,是不是写的太有技术了?
cumtxxl 2008-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 cumtxxl 的回复:]

用switch不合适,switch是用来和固定值比较的
可以用 :? 操作符来比较
[/Quote]
勘误 :? 为 ?:

max= (a>b?a:b)>c?(a>b?a:b):c
yanxibeiyu 2008-08-05
  • 打赏
  • 举报
回复
#include <stdio.h>
void main()
{
int a,b,c,max,t;
scanf("%d,%d,%d",&a,&b,&c);
t=a%b;
switch(t)
{
case a: max=b;
break;
default:max=a;
break;
}
t=max%c;
switch(t)
{
case max: max=c;
break;
default:max=max;
break;
}
printf("max=%d\n",max);
}
cumtxxl 2008-08-05
  • 打赏
  • 举报
回复
没人回答的原因:0分帖
~:(
以后记得问问题表0分帖

用switch不合适,switch是用来和固定值比较的
可以用 :? 操作符来比较
e_sharp 2008-08-05
  • 打赏
  • 举报
回复
没有分,当然人少了

	int i;
i = a/b;
switch(i) {
case 0:
max = b;
break;
default:
max = a;
break;
}

i = max/c;
switch(i) {
case 0:
max = c;
break;
default:
break;
}

printf("max=%d\n",max);
xinduhaobang 2008-08-05
  • 打赏
  • 举报
回复
怎么没人来帮帮忙噢···············
呜呜···············

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧