我在做南开上的题时,遇到的问题
在VC++6.0下编译成功,但连接错误,请问错在那
题目6:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数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)
无法运行啊
我不知道错那了,找不到
谢谢各位友人帮助!
>> 本文固定链接: http://www.vcgood.com/archives/2142
题目6:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数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]) 交换数据;}
就这样吧:也许我对题目意思没理解:不要见笑