您现在的位置: 中国IT实验室 >> 计算机等级考试 >> 最新试题 >> 文章正文
全国计算机等级考试三级C语言上机题31-40

ChinaITLab收集整理  2006-3-11  保存本文  推荐给好友  QQ上看本站  收藏本站


 

 下列程序prog1.c的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn=M,这里Sn=A1+A2+...+An,并依次把n值存入数组单元b[0],b[1]和b[2]中,请编制jsValue()函数来实现此功能, 最后调用函数writeDat()把数组b[]中的值输出到out.dat文件中。
 请勿改动主函数main()和写函数writeDat()的内容。
#include
int b[3];

jsValue()
{int a1=1,a2=1,a12,sn,k=2;
 sn=a1+a2;
 while(1)
 {a12=a1+2*a2;
 if(sn<100&&sn+a12>=100) b[0]=k;
 if(sn<1000&&sn+a12>=1000) b[1]=k;
 if(sn<10000&&sn+a12>=10000) {b[2]=k;break;}
 sn=sn+a12;
 a1=a2;a2=a12;
 k++;
 }
}

main()
{
 jsValue();
printf("M=100,n=%d\nM=1000,n=%d\nM=10000,n=%d\n",b[0],b[1],b[2]);
 writeDat();
 }

writeDat()
{
 FILE *fp;

 fp=fopen("out.dat","w");
 printf("%d\n%d\n%d\n",b[0],b[1],b[2]);
 fprintf(fp,"%d\n%d\n%d\n",b[0],b[1],b[2]);
 fclose(fp);
}


★题目36
函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件pS6.DAT中。
替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。
部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于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;
 for(i=0;i for(j=0;j if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='0'&&xx[i][j]*11%256<='9') continue;
 else xx[i][j]=xx[i][j]*11%256;
}

void main()
 {
 clrscr();
 if(ReadDat()){
 printf("数据文件ENG.IN不能打开!\n\007");
 return;
 }
 encryptChar();
 WriteDat();
}

int ReadDat(void)
{
 FILE *fp;
 int i=0;
 unsigned char *p;

 if((fp=fopen("eng.in","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;

 fp=fopen("ps6.dat","w");
 for(i=0;i printf("%s\n",xx[i]);
 fprintf(fp,"%s\n",xx[i]);
 }
 fclose(fp);
}



题目37
函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。
替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。
部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include
#include
#include
#include

unsigned char xx[50][80];
int maxline=0;/*文章的总行数*/

int ReadDat(void);
void WriteDat(void);

void encryptChar()

上一页  [1] [2] [3] [4] [5] 下一页  





 相关文章  热门文章
应付计算机等级二级考试新大纲:公共基础知识
计算机等级考试三,四级证书
计算机等级考试一,二级证书
2006年4月1日计算机等级考试公共基础知识考
2006年全国计算机等级考试四级考试大纲
2006年全国计算机等级考试三级信息管理技术
2006年全国计算机等级考试二级Access考试大
全国计算机等级考试详细的介绍
全国计算机等级考试四级通关攻略
全国计算机等级考试上机考试应试技巧

 文章评论


认证培训
热门专题       more
相关下载
论坛新帖
博 客