2003年考研(200分)

  • 主题发起人 主题发起人 xgr541
  • 开始时间 开始时间
X

xgr541

Unregistered / Unconfirmed
GUEST, unregistred user!
我手上有2002年浙大的计算机程序设计基础的考题
但我现在不用C语言编程很长时间了
对我来说现在有一定的难度
有人能帮我搞定吗最好是在1月18号以前搞定哦。
 
贴到网上啊!
 
那不是白忙吗?你就确定今年还考2002年的题啊
 
看看
catbrother@163.net
 
misxjq@sina.com
C语言nanD
 
不存在做弊,那只是做为一个参考, 我想可能会有这个机会的,
2001年和2002年的试卷是一模一样的,那我就可能会觉得有这个可能了,
我过几天把那个题贴上来,
一道是读取一个格式文件的另外一个是读 BIL,无头无尾的文件。
等过几天我贴上来再说。 你们能不能先给我出点主意了。
我可能考呢。
还有问一下,
谭浩强的计算机程序设计有没有出第三版的吗,
 
2001年浙大计算机考研题
一、简述语言程序结构及语言特点
二设有一矢量地图数据文本文件其文件数据记录格式为:
ARC_ID,ARC_NAME,ARC_POINT
X1,Y1
X2,Y2
.......
ARC_ID,ARC_NAME,ARC_POINT
X1,Y1
X2,Y2
......
其中,ARC_ID为地图弧段的序号,是一整数;ARC_NAME为弧段属性,是一字符串;
ARC_POINT为构成该弧段的点数,是一整数为每一点的空间坐标,是浮点数。
试设计一C程序,要求:首先设计一数据结构从数据文件读入并存放该矢量
地图,然后对该地图进行平移操作平移量为,X+100000。0,Y-10000。0,
最后将平移后的地图按原格式存放在另一文件中。
三、设有一单波段遥感图象,为一单字节格式(无头无尾)的二进制文件其高度
(行数)为LIN,宽度(列数)为COL,试设计一C程序统计该图象的最大像
元值,最小像元值,平均值及各像元值的频数,打印输出统计结果。要求
处理时直接对图象文件进行操作。
这个2001年的,2002年的跟这个一样的,只是第一道换了一种说法了。
 

没有人做吗?
 
我的一个同学给我做的,还有一个有点问题。
#include <stdio.h>
#include <string.h>
#include <stdlib.h> /* For _MAX_PATH definition */
#include <malloc.h>
struct Arc
{
int ARC_ID;
char ARC_NAME[50];
int ARC_POINT;
float * pData;
struct Arc * pNext;
};
int main(int argc,char* argv[])
{
FILE * pf;
int i,ArcNum=0;
struct Arc * m_pArc=NULL;
struct Arc * p1,* p2=NULL;
int Len=sizeof(struct Arc);
float * pPoint;
pf=fopen("test.txt","rt");
if(pf==NULL)
{
printf("Open File Fail");
return 0;
}
/* Set pointer to begin
ning of file: */
fseek(pf, 0L, SEEK_SET );
/* Read data back from file: */
while(!feof(pf))
{
p1=(struct Arc *)malloc(Len);
fscanf(pf, "%d,%s,%d/n",&p1->ARC_ID,p1->ARC_NAME,&p1->ARC_POINT);
pPoint=(float *)calloc(p1->ARC_POINT*2,sizeof(float));
for(i=0;i<p1->ARC_POINT;i++)
{
fscanf(pf,"%f,%f/n",&pPoint[2*i],&pPoint[2*i+1]);
}
p1->pData=pPoint;
++ArcNum;
if (ArcNum==1)
{
m_pArc=p2=p1;
m_pArc->pNext=NULL;
}
else
{
p2->pNext=p1;
p2=p1;
}
}
fclose(pf);
/*write data to file*/
pf=fopen("newtest.txt","a+");
if(pf==NULL)
{
printf("Open File Fail");
return 0;
}
p1=m_pArc;
m_pArc=p2=NULL;
while(p1!=NULL)
{
fprintf(pf,"%d,%s,%d/n",p1->ARC_ID,p1->ARC_NAME,p1->ARC_POINT);
for(i=0;i<p1->ARC_POINT;i++)
{
fprintf(pf,"%f,%f/n",p1->pData[2*i]+100000.0,p1->pData[2*i+1]-10000.0);
}
free(p1->pData);
p1->pData=NULL;
p2=p1;
p1=p1->pNext;
free(p2);
}
return 0;
}
 
这个程序还是有点问题,不过已经弄好了,过几天我贴上来
 
高手啊!!!!!!!!!!!!!!!!!
看懂题目都很费力·····
 
高手啊!!!!!!!!!!!!!!!!!
 
#include <stdio.h>
main()
{
FILE * pf;
unsigned long Hit[256];
unsigned long i,mean=0L,num=0L;
short max=0,min=255;
union {short val;struct{ unsigned char by1,by2;} Bety;}V;
V.Bety.by2=0x00;
for(i=0;i<256;i++)
Hit=0L;
pf=fopen("xgr.bil","rb");
if(pf==NULL)
{
printf("Open File Fail");
return 0;
}
fseek(pf, 0L, SEEK_SET );
/* Read data back from file: */
while(!feof(pf))
{
num++;
fread(&V.Bety.by1,1,1,pf);
Hit[V.val]++;
if(max<V.val)
max=V.val;
if(min>V.val)
min=V.val;
mean+=V.val;
}
fclose(pf);
mean/=num;
pf=fopen("xgr1.txt","w+");
fprintf(pf,"max= %d/n",max);
fprintf(pf,"min= %d/n",min);
fprintf(pf,"mean= %lu/n",mean);
fprintf(pf,"num= %lu/n",num);
for(i=0;i<256;i++)
fprintf(pf,"像元值为%lu时的频数为%lu/n",i,Hit);
for(i=0;i<256;i++)
printf("像元值为%lu时的频数为%lu/n",i,Hit);
printf("max= %d/n",max);
printf("min= %d/n",min);
printf("mean= %lu/n",mean);
printf("num= %lu/n",num);
return 0;
}
 
后退
顶部