问题 多项选择题

函数ReadDat()的功能是实现从文件IN5.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数ConvertCharA(),该函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。例如,原文:Adb.Bcdzaabck.LLhj结果:Aec.Bdeabbcdl.LLik原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。注意:部分源程序已给出。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。试题程序:#include #include #include char xx[50][80];int maxline = 0;/* 文章的总行数 */int ReadDat(void);void WriteDat(void);void ConvertCharA(void){}main(){clrscr();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;clrscr();fp = fopen("OUT5.DAT", "w");for(i = 0; i < maxline; i++) {printf("%s\n", xx[i]);fprintf(fp, "%s\n", xx[i]);}fclose(fp);}

答案

参考答案:void ConvertCharA(void){int i,j,str;for(i=0;i=’a’ && xx[i][j]<=’y’) xx[i][j]+=A; /*如果该字符是从a到y的小写字母则改写为该字母的下一个字母*/ }}

解析:本题要对二维数组中的字符元素按行来处理,因此,首先要求得当前行所包含的字符总个数,之后才可以利用一个循环来依次访问该行中的所有字符。当遇到一个字符时,先判断该字符是否是小写字母z,如果是,则把该字符改写成小写字母a;如果不是,则继续判断该字符是否是从a到y的小写字母,如果是,则改写为该字母的下一个字母(利用字符的ASCII码值来实现);如果不是,则不做任何的操作,接着去取下一个字符。

材料题

材料一:

俄国的农奴
美国南方种植园

材料二:1933年,美国总统签署了《国家工业复兴法》,对恶性竟争的企业界、不适应生产力要求的生产关系、深陷贫困的劳工以及尖锐的劳资关系进行了规定,从而加强了政府对资本主义工业生产的控制与调节。邓 * * :“社会主义究竟是个什么样子,苏联搞了很多年,也并没有完全搞清楚。可能列宁的思路比较好,搞了个新经济政策,但是后来苏联的模式僵化。”材料三:

六个重要国家生产增长指数表
注:表格里的数字以1938年的为基数。阅读上述材料,结合所学知识回答:(l)根据材料一的两幅图片,说出:19世纪60年代初期,俄、美两国在经济发展中存在怎样的阻碍?它们分别是怎样解决的?____________________________________________________________________________________________

(2)根据材料二中的两段材料,分别说出:20世纪30年代,美、苏两国经济发展形成了怎样的模式?

____________________________________________________________________________________________

(3)认真分析材料三表格中的数据,说出:经济增长速度最快的是哪个国家?结合所学的知识分析一下,第二次世界大战后美国经济迅速发展的原因是什么?对我国的社会主义经济建设有什么启发?

____________________________________________________________________________________________

单项选择题