(整数运算排序题)
在文件in.dat中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据存放到结构数组aa中,请编制函数jsSort(),其函数的功能是:要求在200组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的组数作为函数jsSort() 的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat()把结果bb输出到文件out.dat中。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
int jsSort()
{int i, j, cnt=0;
data ch;
for(i=0;i<200;i++)
if(aa[i].x2>aa[i].x1+aa[i].x3) bb[cnt++]=aa[i];
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
if(bb[i].x2+bb[i].x3<bb[j].x2+bb[j].x3) { ch=bb[i];bb[i]=bb[j];bb[j]=ch;}
return cnt;
}
但是 测试的时候 v++ 提示 无定义的data
请求高手帮忙,看看这个程序那里出错了,谢谢。
请问高手, jsSort()程序中,data ch; data 必须大写吗? 还是出现其它的错误?
#include <stdio.h>
#include <string.h>
#include <conio.h>
typedef struct{int x1,x2,x3;}data;
data aa[200],bb[200];
jsSort()
void main()
{
int count;
readDat();
count=jsSort(); /*返回满足条件的个数*/
writeDat(count);
}
readDat()
{
FILE *in;
int i;
in=fopen("in.dat","r");
for(i=0; i<200; i++)
fscanf(in,"%d %d %d",&aa[i].x1,&aa[i].x2,&aa[i].x3);
fclose(in);
}
writeDat(int count)
{
FILE *out;
int i;
out=fopen("out.dat","w");
clrscr();
for(i=0; i<count; i++){
printf("%d,%d,%d 第二个数+第三个数=%d\n",bb[i].x1,bb[i].x2,bb[i].x3,bb[i].x2+bb[i].x3);
fprintf(out,"%d %d %d\n",bb[i].x1,bb[i].x2,bb[i].x3);
}
fclose(out);
}
请问高手, jsSort()程序中,data ch; data 必须大写吗? 还是出现其它的错误?
请求高手帮忙,看看这个C程序那里出错了。计算机等级三级
建议将jsSort()函数写在main()函数所在的c文件里。
c语言高手帮忙下,看看下面这个程序哪里出错
首先。。。y=3x-1;和y=2x-1;这里,明显是错误的,c语言中的变量不能以数字开头的,3x,2x明显不是变量,应该是想做乘法运算吧,如果是乘法运算的话应该有“*”。其次,else是自动跟上一个没配对掉的if组合,这样的话if(x>=10)y=3x-1;printf("=%d",y);else的写法就不对了,应该在if后...
请高手帮忙看看我这个程序哪里错了?
根据错误提示,问题出现在第1017行,所以,你应该查看一下这行是否有什么问题。我估计是类型不匹配,你再看看是否和我估计的一样。在1017行中,检查变量类型是否与预期相符至关重要。如果存在不匹配,程序可能会无法正常运行,导致错误提示。请仔细审查此行,确保所有变量的类型与所执行的操作兼容。另一种...
关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了
看了你的代码觉得,你在C语言的语法规则上还有待提高啊,在此举出你所给出的代码的若干错误。首先,你的代码不完整。第9、11、13行要定义三个100行的二维字符数组,如果仅仅是类似char adj[100][12]={"开心的"}的定义;这样adj[1]到adj[99]这99个词都会是空值(ASCII码为0),若用printf()函...
请高手帮忙看下面C程序错在哪,老说XSQ.C(19): error C141: syntax error...
if(...) { ... } else if (...) { ... } else { ... } 总觉得你的括号不匹配。
...怎么找到这个程序的错误,求各位高手帮帮忙...
首先看看提示的程序是什么,可能是这个程序出现问题,如果是卸载重装。如果开机出现提示,可以将这个程序的开机启动去掉。如果查不出来或提示的不是程序是系统进程,你可以回忆一下,当你出现这种故障前你都下载了什么程序软件、插件、补丁或是驱动,如果想起先将它们全部卸载试试。如果无法查找,建议先查杀一...
请高手帮我看看下面的程序那里出错了!这是个俄罗斯方块的源码,运行平 ...
这是个俄罗斯方块的源码,运行平台:DOS+TC3.0 (这个程序我在:DOS和Turboc3.0下运行总是有错误,可是我总是改不到错误!想请高手帮我看看,程序注释都很详细。请高手告之错误的地方,尽量把错误说的详细些,本人不甚感激!)程序源... (这个程序我在:DOS和Turbo c3.0下运行总是有错误,可是我总是改不到错误!想请...
各位帮忙看一下,我这程序哪里出了错误?
各位帮忙看一下,我这程序哪里出了错误? 45 行句柄无效。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。异常详细信息:System.Data.OleDb.OleDbExcept... 行句柄无效。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,...
打开exe文件时显示应用程序出错,弹出下面这个窗口,各位高手帮忙看下怎...
很可能是中毒了。可以先用系统还原到以前的正常系统。然后再杀毒。360杀不到,就用别的杀毒工具查杀。
应用程序错误,高手来帮忙解决一下!
无效指针不一定总是0,因此错误提示中的内存地址也不一定为“0x00000000”,而是其他随机数字。如果系统经常有所提到的错误提示,下面的建议可能会有帮助:1.查看系统中是否有木马或病毒。这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常。平常应加强信息安全意识,对来源不明的可执行程序...