瑞星卡卡安全论坛技术交流区系统软件 【求助】请教高手,用C语言编一程序,从5个整数中找出最小的数,并显示此数

12   1  /  2  页   跳转

【求助】请教高手,用C语言编一程序,从5个整数中找出最小的数,并显示此数

【求助】请教高手,用C语言编一程序,从5个整数中找出最小的数,并显示此数

这个便题是谭浩强的C第一章的课后习题,学完了第一章,想拿来练练手.
但是想不出算法来,所以想请大家给个思路,或者用什么方法比较好做就行...
最后编辑2007-06-20 20:10:29.093000000
分享到:
gototop
 

【回复“花花公子与小赖虫”的帖子】方法有很多,常用的有两两比较,冒泡法,选择法
gototop
 


风的唏嘘 谢谢你了,
不过我还是有点疑问..
两两比较的时候是用if...else吧,相邻的两数互相比较就可以算出来了吗?
冒泡法和选择法我并不懂,你能否再帮我解释一下,或者举个例了说明一下..
gototop
 

【回复“花花公子与小赖虫”的帖子】冒泡法,选择法得利用数组再加上循环比较就可以了
gototop
 

main()
{
  int a,b,c,d,e,s;
  printf("shu lu wu ge zi fu");
  scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
  if(a>b)
  s=b;
  if(a>c)
  s=c;
  if(a>d)
  s=d;
  if(a>e)
  s=e;
  printf("%d",s);
 

}

改进

main()
{
  int a,b,c,d,e,s;
  printf("shu lu wu ge zi fu\n");
  scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
  s=a;
  if(s>b)
  s=b;
  if(s>c)
  s=c;
  if(s>d)
  s=d;
  if(s>e)
  s=e;
  printf("%d",s);
 

}
gototop
 

说句心里话,上面偶是乱编的,不过,好像还是对的哦~`

呵呵,

我也再谢谢风的唏嘘了
gototop
 

【回复“过客2007”的帖子】你的程序确实可以得到一个最小值,但是这样一来其他几个原有数据会被破坏掉,一般不建议这样做,而应该设一个临时变量用来进行数据交换,如果仅仅为了得到一个最小值而不考虑其他的话这样也行
gototop
 

说句心里话,我打从昨天晚上就已经开始使用第七章的数组了。

数组我差不多学习了一个礼拜了,还是没看完。

所以就:


main()
{
int i,j,s,a[5];
printf("shu lu wu ge zi fu\n");
for(i=0;i<=5;i++)
scanf("%d",&a);
for(j=0;j<=5;j++)/*本想是循环下标,然后再一个一个地比较,现在突然没有灵感了。。。*/
{
  s=a[j];
 
 
 
}
}

不试不知道,原来我连这个也不会了。。。。。。。。
gototop
 

引用:
【过客2007的贴子】main()
{
  int a,b,c,d,e,s;
  printf("shu lu wu ge zi fu");
  scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
  if(a>b)
  s=b;
  if(a>c)
  s=c;
  if(a>d)
  s=d;
  if(a>e)
  s=e;
  printf("%d",s);
 

}

改进

main()
{
  int a,b,c,d,e,s;
  printf("shu lu wu ge zi fu\n");
  scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
  s=a;
  if(s>b)
  s=b;
  if(s>c)
  s=c;
  if(s>d)
  s=d;
  if(s>e)
  s=e;
  printf("%d",s);
 

}
………………

谢谢了,我刚才编译过,是正确的,但我不明白,为什么要让S先等于A,是什么意思啊..
gototop
 

引用:
【风的唏嘘的贴子】【回复“过客2007”的帖子】你的程序确实可以得到一个最小值,但是这样一来其他几个原有数据会被破坏掉,一般不建议这样做,而应该设一个临时变量用来进行数据交换,如果仅仅为了得到一个最小值而不考虑其他的话这样也行
………………

想问一下,临时变量怎么用呢?能举个例子说明一下吗???谢谢了
gototop
 
12   1  /  2  页   跳转
页面顶部
Powered by Discuz!NT