【2006年全国房价】2006年9月全国等级考试三级c语言上机题库(四)
【shitiku.jxxyjl.com--试题集锦】
★☆题目4(无忧id 24题 上机题库id 9 字符串单词倒置题)
函数readdat()实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中,请编制函数strol(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writedat()把结果xx输出到文件out6.dat中。
例如:原文:you he me
i am a student.
结果:me he you
student a am i
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
部分源程序存在文件prog1.c中。
请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char xx[50][80];
int maxline=0;/*文章的总行数*/
int readdat(void);
void writedat(void);
/*在无忧及上机题库版模拟系统中都通过测试(输入文件句末有标点的在输出文件中句前有空格*/
void strol(void)
{ int i,j,k,s,m,strl;
char str[80];
for(i=0;i<maxline;i++)
{ strl=strlen(xx[i]);
memset(str,0,80); /*初始化这字符串数组str*/
s=k=0;
for(j=strl-1;j>=0;j--) /*从当前字符串尾部开始向前倒序循环,实现题意要求的倒排*/
{ if(isalpha(xx[i][j])) k++; /*如果当前字符是字母a~z或a~z,则k加一*/
else { for(m=1;m<=k;m++) /*否则将长度为k的单词顺序存入到字符串数组str中,s值加1*/
str[s++]=xx[i][j+m];
k=0; /*将k值清0,以方便下一个单词的长度计数*/
}
if(!isalpha(xx[i][j])) str[s++]=" "; /*如果当前字符不是字母a~z或a~z,则以空格代之存入到字符串数组str中,s值加一*/
}
for(m=1;m<=k;m++) /*此时的k值为当前字符串中第一个单词的长度,但在上一个for循环中没能存入到字符串数组str中,所以在这里将其存入到str中*/
str[s++]=xx[i][j+m];
str[s]="\0"; /*在当前行尾加0以标记此行的结束*/
strcpy(xx[i],str); /*将倒排好的当前字符串重新存回到当前行xx中*/
}
}
void main()
{
clrscr();
if(readdat()){
printf("数据文件in.dat不能打开!\n\007");
return;
}
strol();
writedat();
}
int readdat(void)
{
file *fp;
int i=0;
char *p;
if((fp=fopen("in.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("out6.dat","w");
for(i=0;i<maxline;i++){
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
相关试题
- 2020年全国计算机等级考试时间|2001年9月全国计算机等级考试QBASIC试卷(含答案)
- 【2006年全国房价】2006年9月全国等级考试三级c语言上机题库(十二)
- 全国计算机等级考试三级难度|2002年全国计算机等级考试三级笔试样题(Visual FoxPr
- 全国计算机等级考试四级含金量|2003全国计算机等级考试四级笔试试卷
- 【2020年9月全国计算机等级考试】2002年4月全国计算机等级考试一级笔试试卷、答案DOS
- [全国计算机等级考试三级数据库技术]2003年4月全国计算机等级考试三级PC技术笔试试卷
- 【全国计算机等级考试三级难度】2003年4月全国计算机等级考试三级网络笔试试题
- 【2020年9月全国计算机等级考试】2001年4月全国计算机等级考试一级笔试试题Windows
- [2006年全国房价]2006年9月全国等级考试三级c语言上机题库(十)
- 全国计算机等级考试三级难度|2004年4月全国计算机等级考试三级数据库技术笔试试卷
-
[2006年全国房价]2006年9月全国等级考试三级c语言上机题库(十)详细阅读
题目10(无忧id 68 替换字符题)函数readdat()实现从文件in dat中读取一篇英文文章存入到字符串数组xx中,请编制函数convertchara(),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。大写字母仍为大写字母,小写字...
-
全国计算机等级考试三级难度|2004年4月全国计算机等级考试三级数据库技术笔试试卷详细阅读
一、选择题(每小题1分,共60分)下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 下列哪一个是输出设备?a) 鼠标 b) 键盘 c) 数 模转换器 d) 模 数转换器(2) 下列叙述中,错误的是...
-
[2006年全国房价]2006年9月全国等级考试三级c语言上机题库(二十七)详细阅读
★题目27(无忧id 57 整数各位数字运算题) 已知数据文件in dat中存有300个四位数,并已调用读函数readdat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次...
-
2006年全国房价_2006年9月全国等级考试三级c语言上机题库(十一)详细阅读
☆题目11(无忧id 93 字符串字母移位题) 程序prog1 c的功能是:把 s 字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。请考生编写函数chg(char *s)实现程序要求,最后调用函数readwriteda...
-
全国计算机等级考试一级笔试试卷|全国计算机等级考试一级笔试试卷详细阅读
全国计算机等级考试一级笔试试卷(考试时间90分钟,满分100分)2004年4月一、选择题((1)~(30)每小题1分,(31)~(55)每小题2分,共80分)下列各题 a) 、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 在微机的...
-
全国计算机等级考试三级难度_2003全国计算机等级考试三级笔试试卷PC技术上详细阅读
一、选择题((1)~(60)题每题1分,共60分)下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)通常所说的32位计算机是指a)cpu字长为32位 b)通用寄存器数目为32个c)可处理的数据长度为32位 d)地址总线的宽度...
-
【2006年全国房价】2006年9月全国等级考试三级c语言上机题库(二十一)详细阅读
题目21(无忧id 53 迭代方法求方程题) 下列程序prog1 c的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。xn+1=cos(xn)迭代步骤如下:(1)取x1初值为0 0;(2)x0=x1,把x1的值赋给x0;(3)x1=cos(x0),求出一个新的x1;(4)若...
-
2003年4月全国计算机等级考试一级笔试试卷Windows_2003年4月全国计算机等级考试二级FOXBASE语言程序设计详细阅读
一、选择题((1)~(40)每小题1分,(41)~(50)每小题2分,共60分)下列各题 a) 、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 用8位无符号二进制数能表示的最大十进制数为 ca) 127 b) 128 c) 255 d...
-
【2006年全国房价】2006年9月全国等级考试三级c语言上机题库(十六)详细阅读
★题目16(无忧id 23 字符替换题) 函数readdat()实现从文件in dat中读取一篇英文文章存入到字符串数组xx中,请编制函数strcharjr(),其函数的功能是:以行为单位把字符串中所有字符的ascii值右移4位,然后把右移后的字符ascii值再加上原字符的ascii值,得到新的字符...
-
【全国计算机等级考试三级网络技术题库】2003年9月全国计算机等级考试三级网络技术笔试试卷详细阅读
一、选择题(每小题1分,共60分)(1)我国第一条与国际互联网连接的专线是从中科院高能所到斯坦福大学直线加速器中心,它建成于a)1989年6月 b)1991年6月 c)1993年6月 d)1995年6月(2)系统的可靠性通常用mtbf和mttr来表示。其中mtbf的意义是a)每年故障发生次数 b...