分类：电脑/网络-程序设计-C/C++
问题：C语言程序报错的问题！（高分悬赏!)下面是我自己编的一个C程序， 
下面是我自己编的一个程序，用turboC2.0运行总是报出“Floating point  ”错误。我实在不知道哪里错了啊。请各位高手帮忙解决一下。在下感激不尽！！！#include"stdio.h"struct task{int ID; int num; int Runtime; int Waittime; float p;};struct task array[100];main(){int d,i,q,g,m,w; float k,n,s,t,u; printf("请输入作业数(不大于10下面是我自己编的一个程序，用turboC2.0运行总是报出“Floating point  ”错误。我实在不知道哪里错了啊。请各位高手帮忙解决一下。在下感激不尽！！！#include"stdio.h"struct task{int ID; int num; int Runtime; int Waittime; float p;};struct task array[100];main(){int d,i,q,g,m,w; float k,n,s,t,u; printf("请输入作业数(不大于100)\n"); scanf("%d",&q); while(q>100) {printf("数据输入错误！请重新输入\n");  scanf("%d",&q); } g=q; printf("请输入各作业编号，已等待时间及运行时间:\n"); for(i=0;i<q;i++) {scanf("%d%f%f",&m,&k,&n);  array[i].num=1;  array[i].ID=m;  array[i].Waittime=k;  array[i].Runtime=n; } printf("作业执行的顺序是:\n"); while(g>0) {for(i=0;i<q;i++)  {if(array[i].num==1)   array[i].p=(u+array[i].Waittime+array[i].Runtime)/array[i].Runtime;  }   for(i=0;i<q;i++)  {if(array[i].num==1)    if(array[i].p>s)    {s=array[i].p;     w=array[i].ID;     t=array[i].Runtime;     d=i;    }  }  s=0;  printf("%d\n",w);  u+=t;  g--;  array[d].num=0; } printf("作业全部执行完毕!\n");}
回答：我在Linuxgcc4.0下面运行似乎没有报任何错误!以下是执行结果:请输入作业数(不大于100)3请输入各作业编号,已等待时间及运行时间:12.02.6 .3作业执行的顺序是:123作业全部执行完毕!你有没有发觉你的float变量u和s在第一次使用时都没有初始化?当然还有:结构体中Waittime是int,而后面赋值的k是float,结构体中Runtime是int,而后面赋值的n是float,会不会是这个问题呢?因为你的程序报错的原因在于浮点错误啊!如果没有初始化,将会得到不确定的结果编译器就会报错的你试试看吧