关于tc的一个问题!!!

10yue 2003-08-20 08:40:07
main()
{float a,b,c,t;
scanf("%f,%f.%f",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%f%f%f",a,b,c);
}
中间这句{t=a;a=b;b=t;}不是很明白什么意思。希望那位能帮我解释一下。。谢谢了。
恩,关于这类问题还有其他的写发吗???
...全文
70 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xulei55969com 2003-08-20
  • 打赏
  • 举报
回复
楼主提到的问题是一个很典型的交换两个量的一种方法,还有一中方法如下:
a=a∧b;
b=b∧a;
a=a∧b;
上面的方法也可以将两个变量的值交换过来,但是它可以不用中间变量,你可以自己想想!
你上面提到的问题是一个求从1到100的和的程序,要求是当i满足i<=100的时候,sum=sum+i,而每循环一次以后,i就进行一次自加,直到i>100的时候,就停止循环。
n(循环次数) i sum
1 1 1
2 2 3
3 3 6
4 4 10
5 5 15
6 6 21
7 7 28
8 8 36
9 9 45
10 10 55
.................
就是这样循环下去的!
shipfrind 2003-08-20
  • 打赏
  • 举报
回复
呵呵,
记得结贴给点分就好了
10yue 2003-08-20
  • 打赏
  • 举报
回复
非常感谢
shipfrind()
shipfrind 2003-08-20
  • 打赏
  • 举报
回复
i == 1 时:
sum = sum + i; (sum = 0 + 1;)
i++; (i = 2;)

i == 2 时:
sum = sum + i; (sum = 1 + 2;)
i++; (i = 3;)

i == 3 时:
sum = sum + i; (sum = 3 + 3;)
i++; (i = 4;)

……
10yue 2003-08-20
  • 打赏
  • 举报
回复
谢谢。。。弄清楚了。。。

还有一个循环的问题:
main()
{int i,sum=0;
i=1;
while(i<=100)
{
sum=sum+i;
i++;
}
printf("&d",sum);
}
第一个sum和等号后面的sum还有那个i每循环一次的值是多少,举几个就行了,,,再谢谢一次。。。刚刚学编程不久啊。。。哈哈。。。
daiyun4429518 2003-08-20
  • 打赏
  • 举报
回复
鼓掌
shipfrind 2003-08-20
  • 打赏
  • 举报
回复
转换一下
a = a + b;
b = a - b;
a = a - b;

你把值带进去试一下,
应该会明白的
zhengjc 2003-08-20
  • 打赏
  • 举报
回复
更正 flaot -> float
zhengjc 2003-08-20
  • 打赏
  • 举报
回复
还可以这样:
flaot t1, t2;

t1 = a;
t2 = b;
a = t2;
b = t1;

哈,这样写好象有点弱智哈
longtail1981 2003-08-20
  • 打赏
  • 举报
回复
不能理解
这样
shipfrind 2003-08-20
  • 打赏
  • 举报
回复
另一种写法:
a += b;
b = a - b;
a -= b;
zhengjc 2003-08-20
  • 打赏
  • 举报
回复
{t=a;a=b;b=t;} a与b的值互换,t是中间变量

还可以写成:t = b; b = a; a = t; :-)
ppgo 2003-08-20
  • 打赏
  • 举报
回复
这好像是最简单的写法了
ppgo 2003-08-20
  • 打赏
  • 举报
回复
将a,b的值互换
10yue 2003-08-20
  • 打赏
  • 举报
回复
那还有其他的写法吗 ?
想比较一下。。。
ehhl 2003-08-20
  • 打赏
  • 举报
回复
不就是做一个交换嘛,其中用到一个中间变量而已

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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