心得 | 论文 | 作文 | 风水 | 谜语 | 菜谱 | 组词 | 诗词 | 成语 | 注音 | 考试 | 日记 | 教学 | 课件 | 汉字 | 词语 | 解梦 | 草药 | 单词 | 格言 | 笑话 | 康熙字典

位置:学习心得体会网 >> 职称考试 >> 计算机职称 >> 计算机三级考试

2016计算机三级考试网络技术练习试题

类型:计算机三级考试 时间:2016年7月15日

1.函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。


例如,原文:Adb.Bcdza

abck.LLhj

结果:Aec.Bdeab

bcdl.LLik

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

注意:部分源程序已给出。

请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。

#include

#include

#include

char xx[50][80] ;

int maxline = 0 ;/* 文章的总行数 */

int ReadDat(void) ;

void WriteDat(void) ;

void ConvertCharA(void)

{

int i,j; /*定义循环控制变量*/

int str; /*存储字符串的长度*/

for(i=0;i

{

str=strlen(xx[i]); /*求得当前行的字符串的长度*/

for(j=0;j

if(xx[i][j]>='a' && xx[i][j]<='z') /*如果是小写字母*/

if(xx[i][j]=='z')

xx[i][j]='a'; /*如果是小写字母z,则改写成字母a*/

else

xx[i][j]+=1; /*其他的小写字母则改写为该字母的下一个字母*/

}

}

void main()

{

system("CLS");

if(ReadDat())

{

printf("数据文件IN5.DAT不能打开!\n\007") ;

return ;

}

ConvertCharA() ;

WriteDat() ;

}

int ReadDat(void)

{

FILE *fp ;

int i =0 ;

char *p ;

if((fp = fopen("IN5.DAT", "r")) == NULL) return 1 ;

while(fgets(xx[i], 80, fp) !=NULL)

{

p = strchr(xx[i], '\n') ;

if(p) *p = 0 ;

i++;

}

maxline = i ;

fclose(fp) ;

return 0 ;

}

void WriteDat(void)

{

FILE *fp ;

int i ;

system("CLS");

fp = fopen("OUT5.DAT", "w") ;

for(i = 0 ; i < maxline ; i++)

{

printf("%s\n", xx[i]) ;

fprintf(fp, "%s\n", xx[i]) ;

}

fclose(fp) ;

}

2.在文件IN6.DAT中有200个正整数,且每个数均在1000至9999之间。函数readDat()的功能是读取这200个数存放到数组aa中。请编制函数jsSort(),该函数的功能是:要求按每个数的后3位的大小进行降序排列,将排序后的前10个数存入数组b中,如果数组b中出现后3位相等的数,则对这些数按原始4位数据进行升序排列。最后调用函数writeDat()把结果bb输出到文件OUT6.DAT中。

例如:处理前 9012 5099 6012 7025 8088

处理后 509

相关阅读

更多分类