全国等级考试资料网

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

分类: 计算机  时间: 2019-01-23 14:11:38  作者: 全国等级考试资料网 
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] = ’’; 
break; 

else if(c != ’ ’ && c != ’ ’)/*去掉回车换行符*/ 
{ 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); 

相关文章

猜你喜欢

精选计算机