首页 > 用户发贴区 > 编程问题提问区 > 这道程序错在那???
2008
02-09

这道程序错在那???

我在做南开上的题时,遇到的问题


在VC++6.0下编译成功,但连接错误,请问错在那


题目6:在文件in.dat中有200个正整数,且每个数均在10009999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。


我编的


#include<stdio.h>
#include<string.h>
#include “stdlib.h”
int aa[200],bb[10];


void jsSort()
{
int i,j,t;
for(j=0;j<199;<j++)
{
 for(i=j+1;i<200;i++)
 {   
 if(j>9) {if(aa[j]>aa[i]) {t=aa[j];aa[j]=aa[i];aa[i]=t;}}
 else if((aa[j]%1000)<(aa[i]%1000)) {bb[j]=aa[i];}
 }
 j++;

}


void readDat()
{
FILE *in;
int i;
in=fopen(“in.dat”,”r”);
for(i=0; i<200; i++) fscanf(in,”%d,”,&aa[i]);
fclose(in);
}


void writeDat()
{
FILE *out;
int i;
out=fopen(“out.dat”,”w”);
for(i=0; i<10; i++){
printf(“i=%d,%d\n”,i+1,bb[i]);
fprintf(out,”%d\n”,bb[i]);
}
fclose(out);
}


void main()
{
readDat();
jsSort();
writeDat();
system(“pause”);
}
可是连接时


——————–Configuration: 练习 – Win32 Debug——————–
Compiling…
练习2.cpp
D:\Program Files\Microsoft Visual Studio\MyProjects\练习\练习2.cpp(9) : error C2143: syntax error : missing ‘)’ before ‘<’
D:\Program Files\Microsoft Visual Studio\MyProjects\练习\练习2.cpp(9) : error C2143: syntax error : missing ‘;’ before ‘<’
D:\Program Files\Microsoft Visual Studio\MyProjects\练习\练习2.cpp(9) : error C2059: syntax error : ‘)’
D:\Program Files\Microsoft Visual Studio\MyProjects\练习\练习2.cpp(10) : error C2143: syntax error : missing ‘;’ before ‘{‘
执行 cl.exe 时出错.


练习2.obj – 1 error(s), 0 warning(s)
无法运行啊


我不知道错那了,找不到


谢谢各位友人帮助!


这道程序错在那???》有 1 条评论

  1. 吴自强198542 说:

    题目6:在文件in.dat中有200个正整数,且每个数均在10009999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。

    我是这样理解这道题的:首先明确的数据的个数200。范围1000-9999

    要求按每个数的后三位的大小进行降序排列:我的思路是:即数位分解:

    void jsSort()
    {
    int i,j,t;
    for(j=0;j<199;<j++)
    {
     for(i=j+1;i<200;i++)

    {

     if(aa[j]%1000<aa[i]%1000) 交换数据;

     else if(aa[j]%1000==aa[i]%1000)

    {if(aa[j]<aa[i]) 交换数据;}

    就这样吧:也许我对题目意思没理解:不要见笑

留下一个回复