二级C上机模拟试题及答案(1)

文章作者 100test 发表时间 2007:03:10 17:46:51
来源 100Test.Com百考试题网


1.请编制函数ReadDat( )实现从文件HEX.IN中读取100个十六进
制数到字符串数组xx中. 请编制函数H16To10(), 将xx中的十六进
制数转换成十进制数并把已转换的十进制数仍存放在字符串数组xx
中, 最后调用函数WriteDat()把结果输出到DEC.OUT文件中。
原始数据文件存放的格式是: 每行存放10个数, 并用逗号隔
开。(每个数均大于0且小于等于2000)
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()和输出数据函数WriteDat()的内容。

/*参考答案*/
#include
#include
#include
#include
#define MAX 100
char xx[MAX][20] .
void WriteDat(void) .
int ReadDat(void)
{ FILE *fp .
int i,j.
char c.
if((fp = fopen("HEX.IN", "r")) == NULL) return 1 .
/***********读入数据并存放到数组xx中*************/
for(i = 0. i < MAX. i )
{ j = 0.
while((c = (char) fgetc(fp)) != EOF)
{ if(c == ’,’)
{ xx[j] = ’\0’.
break.
}
else if(c != ’\n’ &.&. c != ’\r’)/*去掉回车换行符*/
{ if(!isdigit(c))/*如果是字母,则转换为大写*/
c &.= 0xdf.
xx[j] = c.
j.
} }
if(c == EOF)
break.
}
fclose(fp) .
return 0 .
}void H16To10(void)
{ char str[20].
int i,j,len,val.
for(i = 0. i < MAX. i )
{ strcpy(str,xx).


相关文章


二级C上机模拟试题及答案(2)
二级C上机模拟试题及答案(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛