| |
|
 |
相关文章 |
 |
|
|
|
|
 |
南开计算机等级考试上机100题(三级)(1) |
|
|
| 南开计算机等级考试上机100题(三级)(1) |
|
作者:佚名 文章来源:不详更新时间:2006-5-30 8:06:23  |
|
1. 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。
替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include
#include
#include
#include
unsigned char xx[50][80];
int maxline=0;/*文章的总行数*/
int ReadDat(void)
void WriteDat(void)
void encryptChar()
{ int i,j;
char *p;
for(i=0;i=’a’&&xx[j]=’0’&&p=’A’&&p=’0’&&xx[j]=’A’&&xx[j]=’a’&&p130)
;
else xx[j]=p; } }
11.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。
例如:位置 0 1 2 3 4 5 6 7 8
源字符串 d c b a h g f e
4 3 2 1 9 8 7 6 5
则处理后字符串 h g f e a b c d
8 7 6 5 9 1 2 3 4
部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
#include
#include
#include
char xx[20][80];
void jsSort()
{ int i,j,k,m;
char c;
for(i=0;ixx[m])
{ c=xx[j];
xx[j]=xx[m];
xx[m]=c; }
for(j=0;jxx[m])
{ c=xx[j];
xx[j]=xx[m];
xx[m]=c; } }
}
14.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串变量的下标为奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
例如:位置 0 1 2 3 4 5  共7页: 1 [2] [3] [4] [5] [6] [7] 下一页
;6 7
源字符串 h g f e d c b a
则处理后字符串 h a f c d e b g
部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void jsSort()
{ int i,j,k,m;
char c;
for(i=0;ixx[m])
{ c=xx[j];
xx[j]=xx[m];
xx[m]=c; } } }
15.函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。条件:从字符串中间一分为二,右边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加排序,字符仍放在原位置上。
例如:位置 0 1 2 3 4 5 67 8
源字符串 d c b a h g f e
8 7 6 5 9 1 2 3 4
则处理后字符串 e f g h d c b a
5 6 7 8 9 4 3 2 1
部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数 WriteDat()的内容。
void jsSort()
{ int i,j,k,m,n;
char c;
for(i=0;ixx[m])
{ c=xx[j];
xx[j]=xx[m];
xx[m]=c; }
for(j=0;jxx[m])
{ c=xx[j];
xx[j]=xx[m];
xx[m]=c; }
if(k%2==0)
n=k/2;
else n=k/2+1;
for(j=n;jn)
{ c=aa;
aa=aa[j];
aa[j]=c; }
if(m==n)
{ if(aa(aa.x2+aa.x3))
bb[k++]=aa;
for(i=0;ibb[j].x1+bb[j].x3)
{ m=bb;
bb=bb[j];
bb[j]=m; }
return k;
}
void main()
{ int count;
readDat();
count=jsSort(); /*返回满足条件的个数*/
writeDat(count); }
readDat(int count)
{ FILE *in;
int i;
in=fopen("in.dat","r");
< 共7页: 上一页 [1] 2 [3] [4] [5] [6] [7] 下一页
br>for(i=0; ia[j].s)
{ *s=a;
a=a[j];
a[j]=*s; }
return a[0].s;
}
main()
{
STU a[N]={ {"A01",81},{"A02",89},{"A03",66},{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},{"A09",80},{"A10",71} }, m ;
int i;
clrscr();
printf("***** The original data *****
");
for(i=0; i0;m++)
if(isP(m))
{ xx[i++]=m;
k--; } }
main()
{
int m, n, xx[1000] ;
clrscr() ;
printf("
Please enter two integers:") ;
scanf("%d%d", &m, &n ) ;
num(m, n, xx) ;
for(m = 0 ; m sell[j].je)
{ c=sell;
sell=sell[j];
sell[j]=c; } } }
33..已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。
部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void SortDat()
{ int i,j;
PRO c;
for(i=0;isell[j].je)
{ c=sell;
sell=sell[j];
sell[j]=c; }
else
if(sell.je==sell[j].je)
if(strcmp(sell.dm,sell[j].dm)sell[j].je)
{ c=sell;
sell=sell[j];
sell[j]=c; }
else
if(sell.je==sell[j].je)
if(strcmp(sell.dm,sell[j].dm)>0)
{ c=sell;
sell=sell[j];
sell[j]=c; } } }
37.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四 共7页: 上一页 [1] [2] 3 [4] [5] [6] [7] 下一页
部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT3.DAT中。部分源程序已给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void SortDat()
{ int i,j;
PRO c;
for(i=0;i0)
{ c=sell;
sell=sell[j];
sell[j]=c; } } }
38.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void SortDat()
{ int i,j;
PRO c;
for(i=0;i0)
{ c=sell;
sell=sell[j];
sell[j]=c; }
else
if(strcmp(sell.mc,sell[j].mc)==0)
if(sell.je>sell[j].je)
{ c=sell;
sell=sell[j];
sell[j]=c; } } }
39.已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
void SortDat()
{ int i,j;
PRO c;
for(i=0;isell[j].je)&nbs[1] [2] [3] 下一页
|
|
| 文章录入:admin 责任编辑:admin |
| |
|
上一篇文章: 2003年4月全国计算机等级考试三级PC笔试真题(1) 下一篇文章: 2002年4月全国计算机等级考试一级WINDOWS笔试答案(1) |
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |
|
|
|
|
|