菜鸟发问

smartdrvsky 2006-03-09 06:35:57
入4个数字,然后从小到大输出,不用数组的算法如下:
mian ()
{
float a,b,c,d,t;
scanf("%f,%f,%f,%f",&a,&b,&c,&d);
if (a>b)
{t=a;a=b;b=t;}
if (a>c)
{t=a;a=c;c=t;}
if (a>d)
{t=a;a=d;d=t;}
if (b>c)
{t=b;b=c;c=t;}
if (b>d)
{t=b;b=d;d=t;}
if (c>d)
{t=c;c=d;d=t;}
printf("%5.2f,%5.2f,%5.2f,%5.2f",a,b,c,d);
}

仔细看了一下,程序本身没问题
可在调试过程中(软件:TURBOC2,文件名为333.c)CTRL+F9后显示错误,信息如下
Linking
EXE file: program/ 333.exe
Linking: Lib/CS.LIB
Total link
lines compiled: 18 pass 2
warnings: 0 0
Errors: 1 1

我的问题:是TC有问题吗?如果是,请问如何解决?对于新手学习C及编程,应该用哪些方便快捷的调试软件?
诚盼高手解答
...全文
201 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
shu_yoyo 2006-03-10
  • 打赏
  • 举报
回复
你学了冒泡排序就明白了为什么用两个for了。
另外漏写了printf了,sorry
qlwind 2006-03-10
  • 打赏
  • 举报
回复
scanf("%f%f%f%f"),不能有","
smartdrvsky 2006-03-10
  • 打赏
  • 举报
回复
谢谢灌水是第一生产力,我们现在用的《数据结构》是八三年用PASCAL编的……
我正在学习,准备换本严蔚敏的。
ichend 2006-03-10
  • 打赏
  • 举报
回复
为什么要用两个 for(int i=0;i<4;i++)
而且最后没有printf语句?
对不起哦,初学,疑问多多,请谅解。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实思路还是一样的
冒泡思想:将第一个数和后每一个数比较,将最小的放在第一位,以次类推!
数组只是将四个数装入一个一维数组里了
通过循环两两比较,互换值,最终达到从小到大存放 输出
另最好还是需要printf语句输出结果的 但又需要一个for()语句了:)
for(i=0;i<4;i++)
printf("%f",a[i]);
逸学堂 2006-03-09
  • 打赏
  • 举报
回复
为什么要用两个 for(int i=0;i<4;i++)
而且最后没有printf语句?
对不起哦,初学,疑问多多,请谅解。
~~~~~~~~~~~~·
冒泡排序,当然要两个for,lz基础太差了,再看看书吧,
书上讲的很仔细(冒泡排序)
wumingchenchao 2006-03-09
  • 打赏
  • 举报
回复
for(i=0;i<N-1;i++)
for(j=0;j<N-i-1;j++)
if(a[j]>a[j+1])
{ t=a[j];
a[j]=a[j+i];
a[j+1]=t;
}

smartdrvsky 2006-03-09
  • 打赏
  • 举报
回复
TO:shu_yoyo(灌水是第一生产力)
为什么要用两个 for(int i=0;i<4;i++)
而且最后没有printf语句?
对不起哦,初学,疑问多多,请谅解。
smartdrvsky 2006-03-09
  • 打赏
  • 举报
回复
谢谢楼上热情解答,数据结构我正在学,到目前为止只学了向量栈队列的建立修改一些基本操作,顺便再问一下,我现在大二,学校现在才开这些课迟了么?
lishijin8096 2006-03-09
  • 打赏
  • 举报
回复
mian ()该为main()
cunsh 2006-03-09
  • 打赏
  • 举报
回复
你看看数据结构中讲的各种排序的思路.再看它的最后实现用的代码.
cunsh 2006-03-09
  • 打赏
  • 举报
回复
常用的排序算法很多啊.
看看<<数据结构>>.
shu_yoyo 2006-03-09
  • 打赏
  • 举报
回复
用冒泡排序法:
#include <stdio.h>
main( )
{
float a[4],t;
for(int i=0;i<4;i++)
scanf("%f",&a[i]);
for(i=0;i<4;i++)
for(int j=i;j<4;j++)
{
if(a[j]>a[j+1])
{
t = a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
Phable 2006-03-09
  • 打赏
  • 举报
回复
>>顺便问一下,用数组应该如何实现呢?(求思路)
定义一个长度为4的数组
数组的每个元素存一个数,对此数组排序!
最后用循环输出数组即可~~
shu_yoyo 2006-03-09
  • 打赏
  • 举报
回复
要包括头文件#include <stdio.h>
smartdrvsky 2006-03-09
  • 打赏
  • 举报
回复
汗,我又看了一下,是主函数写错了
main()而不是mian
2021‘someday 2006-03-09
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include <stdio.h>//要有这个头文件
void main()//看看这里的MAIN
{
}
smartdrvsky 2006-03-09
  • 打赏
  • 举报
回复
顺便问一下,用数组应该如何实现呢?(求思路)

33,311

社区成员

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

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