计算机等级考试三级编程解析二

计算机等级考试三级编程解析二,第1张

计算机等级考试三级编程解析二,第2张

第二,对字符串进行左右排序和比较

ReadDat()函数从文件in.dat中读取20行数据,存储在字符串数组xx中(第一行字符串长度小于80)。请编译函数jsSort(),它的作用是以行为为单位按照给定的条件对字符串进行排序,排序后的结果仍然逐行存储在字符串数组xx中。最后调用函数WriteDat()将结果xx输出到文件out.dat
条件:字符串从中间分成两部分,左边部分按照字符的ASCII值升序排序。排序后,左半部分与右半部分交换。如果原字符串的长度为奇数,中间的字符将不被处理,该字符仍将被放在原位置。
例如:location 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 function()、ReadDat()和WriteDat()的内容。
# include
# include
# include

char xx[20][80];

void jsSort()
{

}

void main()
{
read dat();
jsSort();
write dat();
}

read dat()
{
FILE * in;
int I = 0;
char * p;

in=fopen("in.dat "," r ");
while(ip=strchr(xx[i],' \ n ');
if(p)* p = 0;
i++;
}
f close(in);
}

write dat()
{
FILE * out();
int I;
clrscr();
out=fopen("out.dat "," w ");
for(I = 0;ixx[I][k])
{ ch = xx[I][j];/*每次将最小数分配给XX[I][J]*/

xx[I][j]= xx[I][k];

xx[I][k]= ch;
}
for(j=half-1,k = strl-1;j > = 0;j -,k-)
{ ch = xx[I][j];
xx[I][j]= xx[I][k];
xx[I][k]= ch;
}
}
}
void jsSort()
{
int I,j,k,strl
char ch;
for(I = 0;ixx[I][k])
{
ch = xx[I][j];
xx[I][j]= xx[I][k];
xx[I][k]= ch;
}
for(j = 0;j
{
ch = xx[I][j];
xx[I][j]= xx[I][(strl+1)/2+j];
xx[I][(strl+1)/2+j]= ch;
}
}
}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 计算机等级考试三级编程解析二

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情