首页>计算机>软件水平考试>模拟试题>正文
软考:《高级语言程序设计》北大上机试题(九)

www.zige365.com 2008-11-11 19:02:03 点击:发送给好友 和学友门交流一下 收藏到我的会员中心

2.题目:编一个C程序,它能读入文件f1.c和f2.c中的所有整数,并把这些数按从小到大的次序写到文件f3.c中,文件中的相邻两个整数都用空格或换行符隔开。(注:可执行文件名为e9_2.exe)

程序设计:
#include "stdio.h"
main()
{FILE *fp1,*fp2,*fp3;
int a[100],n,i,j,k,x;
if ((fp1=fopen("f1.c","wb"))==NULL)
{printf("f1.c can not open!\n");
exit(0);
}
x=9999;
while (x!=-9999)
{scanf("%d",&x);
if (x!=-9999) fwrite(&x,sizeof(int),1,fp1);
}
fclose(fp1);
if ((fp2=fopen("f2.c","wb"))==NULL)
{printf("f2.c can not open!\n");
exit(0);
}
x=9999;
while (x!=-9999)
{scanf("%d",&x);
if (x!=-9999) fwrite(&x,sizeof(int),1,fp2);
}
fclose(fp2);
if ((fp1=fopen("f1.c","rb"))==NULL)
{printf("f1.c can not open!\n");
exit(0);
}
if ((fp2=fopen("f2.c","rb"))==NULL)
{printf("f2.c can not open!\n");
exit(0);
}
if ((fp3=fopen("f3.c","wb"))==NULL)
{printf("f3.c can not open!\n");
exit(0);
}
i=-1;
while (!feof(fp1))
fread(&a[++i],sizeof(int),1,fp1);
fclose(fp1);
i--;
rewind(fp2);
while (!feof(fp2))
fread(&a[++i],sizeof(int),1,fp2);
fclose(fp2);
n=i;
for (k=1;k<n;k++)
for (j=n-1,i=0;i<n-k;i++,j--)
if (a[j]<a[j-1])
{x=a[j];a[j]=a[j-1];a[j-1]=x;}
fwrite(a,sizeof(int),n,fp3);
fclose(fp3);
if ((fp3=fopen("f3.c","rb"))==NULL)
{printf("f3.c can not open!\n");
exit(0);
}
while (!feof(fp3))
{fread(&x,sizeof(int),1,fp3);
printf("%d ",x);
}
printf("\n");
}

本新闻共3页,当前在第2页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
08年11月软考英语考前练习试题及答案汇总
08年11月软考英语考前练习试题及翻译(1)
08年11月软考英语考前练习及解析(18)
08年11月软考英语考前练习试题及解析(17)
08年11月软考英语考前练习试题及解析(16)
08年11月软考英语考前练习试题及解析(15)