版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题目1:下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数
num(intm,intk,intxx口)实现函数的要求,最后调用函数readwriteDAT。把结果输出到文件
out.dat中o
例如:若输入17,5,则应输出:19,23,29,31,37。
注意:部分源程序已给出。
请勿改动主函数main。和函数readwriteDAT。的内容。
类型:素数。
voidnum(intm,intk,intxx[])
{intdata=m+l;
inthal£n=0,I;
while(l)
{half=data/2;for(I=2;Iv=haIf;I++)
if(data%I==O)break;
if(I>half)
{xx[n]=data;n+4-;}
if(n>=k)break;
data++;
})
题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX
中;请编制函数STROR0,其函数功能是:以行为单位把字符串中的所有小写字母0左边的字
符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符
串的左边存放.最后把J处理的字符串仍按行重新存入字符串数组XX中,最后调用函数
WRITEDAT。把结果XX输出到文件OUT.DAT中.
例如:原文:Youcancreateanindexonanyfield.
youhavethecorrectrecord.
结果:nanyfield.Youcancreateanindex
rd.yuhavethecrrectrec
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.
类型:字符串(单词)的倒置和删除。
答案:
voidStrOR(void)
{intI,j,k,index,strl;
charch;
fbr(I=O;I<maxline;I-H-)
{strl=strlen(xx[I]);
index=strl;
for(j=O;j<strl;j++)
if(xx[I]U]=V)
{fdr(k=j;k<strl-1;k++)
xx[I][k]=xx[I][k+l];
xx[I][strl-l]='*;
index弓;}
fbr(j=strl-1;j>=index;j—)
{ch=xx[I][strl-l];
fbr(k=strl-1;k>O;k—)
xx[I][k]=xx[I][k-l];
xx[I][O]=ch;}
)
)
题目4:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请
编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单
词进行倒排,同时去
除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。
最后main。函数调用函数WriteDat。把结果xx输出到文件0UT6.DAT中。
例如:原文:YouHeMe
Iamastudent.
结果:MeHeYou
studentaamI
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
类型:字符串(单词)的倒置利删除。
答案:
voidStrOL(void)
{intIj,k,strl,l;charc;
for(I=O;I<maxline;I++)
Cr(j=O;j〈strlen(xx[I]);j++)
{c=xx[I][j];
if((c>=*A'&&c<=,Z,)||(c>=,a,&&c<=,z,)||c=,|);
elsexx[I][j]-}
fbr(l=O;l<maxline;l++)
{charch[80]={0};charpp[80]={0};
strl=strlen(xx[l]);
I=strl-1;k=l;
while(l)
{while(((xx[l][I]>=,a,&&xx[l][I]<=,z,)||(xx[l][I]>=,A,&&xx[l][I]<='z'))&&I>=0)
{for(j=k;j>=O;j-)
pp[j+l]=ppLj];pp[0]=xx[l][I];k++;I-;}
strcat(ch,pp);strcpy(pp,*HMn,);k=l;
if(I==-l)break;
while((xx[l][I]<,A'||xx[l][I]>,z,)&&I>=0)
{for(j=k;j>=O;j-)
pp[j+1]=PPU];pp[0]=xx[l][I];k++;I-;)
strcat(ch,pp);strcpy(pp,"H"n);
k=0;
if(I==-l)break;}
strcpy(xx[l],ch);
题目9:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请
编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,
排序后的结果仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果
xx输出到文件0UT2.DAT中。
例:原文:dAe,BfC.
CCbbAA
结果:fedCBA.,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
类型:字符串(单词)的倒置和删除。
答案:
voidSortCharD(void)
{intI,j,k,strl;
charch;
fbr(I=O;I<maxline;I-H-)
{strl=strlen(xx[I]);
fbr(j=O;j<strl-l;j++)
fbr(k=j+l;k<strl;k++)
if(xx[I][j]<xx[I][k])
{ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}
))
题目10:清编制函数ConvertCharA(),其函数的功能是:以行为单位把字符串中的所有小写
字母改写成该字母的下一个字母,如果是字母z,则改写成字母a,大写字母和其它字符保持
不变。把已处理的字符串仍按行重新存入字符串数组xx中。。最后main()函数调用函数
WriteDat()把结果xx输出到文件OUT3.DAT中。
例:原文:Adb.Bcdza
abck.LLhj
结果:Aec.Bdeab
bcdl.LLik
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序存放在PROG1.C中。
清勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
类型:字符串(单词)的倒置和删除。
答案:
voidConvertCharA(void)
{intI,j,str;
fbr(I=O;I<maxline;I-H-)
{str=strlcn(xx[I]);
for(j=O;j<strj++)
if(xx[I][j]='z')xx[I][j]='a';
elseif(xx[I][j]>-a,&&xx[I][j]<=y)xx[I][j]+=l;
)
I
题目19:编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现
的次数。例如:假定输入的字符串为”asdasasdfgasdaszx67asdmklo”,子字符串为“as",函数
返回值为6。
函数readwriteDat()的功能是实现从文件in.dat中读取两个字符穿4,并调用函数findstr(),
最后把结果输出到文件out.dat中。
注意:部分源程序已给出。
请勿改动主函数main。和函数ReadWrite。的内容。
intfindStr(char*str,char*substr)
{intn;
char*p,*r;
n=0;
while(*str)
{P=str;
r=substr;
while(*r)
if(*r==*p){r++;p++;}
elsebreak;
ifT—KO)
n++;
str++;}
returnn;
题H20:编写函数jsvalue,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果
由函数返回。其中Fibonacci数列F(n)的定义为:
F(0)=0,F(l)=l
F(n)=F(n-l)+F(n-2)
最后调用函数writeDat()读取10个数据t,分别得出结果且把结果输出到文件out.dat中。
例如:当例如00时,函数值为:1597。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDat()的内容。
intjsValue(intt)
{intfl=0,f2=l,fn;
fn=fl+f2;
while(fh<=t)
{fl=f2;
f2=fh;
fn=fl+f2;}
returnfh;
)
题目21:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。
xn+l=cos(xn)
迭代步骤如下:
(1)取XI初值为0.0;
(2)XO=X1,把XI的值赋给X0;
(3)X1=COS(X0),求出一个新的XI;
(4)若X0-X1绝对值小0.000001,执行步骤(5),否则执行步骤(2);
(5)所求XI就是方程cos(X)-X=0的一个实根,作为函数值返回。
请编写函数countvalue()实现程序的要求,最后调用函数WRITEDAT()把结果输出到文
件OUT17.DAT中。
注意:部分源程序已给出。
请勿改动主函数main()和输出数据函数writeDAT()的内容。
floatcountValue()
{floatx0,x1=0.0;
while(l)
{x0=xl;
xl=cos(x0);
if(fabs(xO-x1)<1e-6)break;
}
returnxl;
题目26:已知在文件in.dat中存有若干个(个数〈200)四位数字的正整数,函数readdat()读取
这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这文件中
共有多少个正整数totnum;2、求这些数右移1位后,产生的新数是偶数的数的个数totcnt,
以及满足此条件的这些数(右移前的值)的算术平均值totpjz,最后调用函数writedat()把所
求的结果输出到文件out.dat中。
注意:部分源程序已给出。
请勿改动主函数main()^读数据函数readdat。和输出数据函数writedat()的内容。
voidCalValue(void)
{intI,data;
fbr(I=0;I<MAXNUM;I++)
{if(!xx[I])break;
if(xx[I]>0)totNum++;
data=xx[I]»l;
if(data%2=0){totCnt-H-;totPjzH-=xx[I];}
totPjz/=totCnt;
题目39:对10个候选人进行选举,现有一个100条记录的选票数据文件IN.DAT,其数据存放
的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人
的选中情况,依此类推:内容均为字符0和1,1表示此人被选中,0表示此人未被选中,全选
或不选均为无效的选票“给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。
请编制函数CountRs。来统计每个人的选票数并把得票数依次存入yy[O]到yy[9]中。把结果
yy输出到文件OUT.DAT中。
注意:部分源程序已给出。
请勿改动主函数main。、读数据函数ReadDat()和输出数据函数writeDat。的内容。
类型:选票问题。
voidCountRs(void)
{intI,j=O,k=O;
char*str;
fbr(I=0;I<10;I++)
yy[i]=o;
fbr(I=0;I<100;I++)
{str=xx[I];j=0;
while(*str)
if(*str=,r){j++;str++;}
elsestr++;
if(j!=0&&j!=10)
{str=xx[I];k=0;
while(*str)
if(*str++=,r)yy[k-H-]+=1;
elsek++;}
}
)
题43:函数ReadDat。实现从文件in.dat中读取20行数据存放到字符串数组xx中(第行字符串
长度均小于80)。请编制函数jsSort。,其函数的功能是:以行为单位对字符串变量的下标为
奇数的字符按其ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串
数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。
例如:位置01234567
源字符串hgfedcba
则处理后字符串hafcdebg
部分源程序已给出。
请勿改动主函数main()>读数据函数ReadDat()和输出数据函数WritcDat()的内容。
类型:字符串左右排序和比较。
voidjsSort()
{intI,j,k,strl;
charch;
for(I=0;K20;I++)
{strl=strlen(xx[I]);
fbr(j=l;j<strl-2;j=j+2)
fdr(k=j+2;k<strl;k=k+2)
if(XX[I][j]>XX[I][k])
{ch=xx[I][j];xx[I][j]=xx[I][k];xx[I][k]=ch;}
)
}
题H48:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数
存入数组A中.请编制一函数SVALUE0,其功能是:求出千位数上的数加个位数上的数等于百
位数上的数加十位数上的数的个数CNT,再把所有满足条件的四位数依次存入数组bb中,然
后对数组bb的四位数按从小到大的顺序进行排序,最后调用写函数WRITEDAT()把数组b中
的数
输出到OUT.DAT文件.
例如:6712,6+2=7+1,则该数满足条件存入数组bb中,且个数CNT=CNT+1.
8129,8+1。2+9,则该数不满足条件忽略.
注意:部分源程序已给出。
程序中已定义数组:a[300],已定义变量:ent
请勿改动主函数main。、读函数ReadDat。和写函数writeDat。的内容。
voidjsValue()
{intI,thou,hun,ten,data,j;
for(I=0;I<300;I++)
{thou=a[l]/l000;hun=a[I]%1000/100;
ten=a[I]%100/10;data=a[I]%10;
if(thou+data==hun+ten){b[cnt]=a[I];cnt++;}
}
fbr(l=O;I<cnt-l;I++)
fbr(j=I+1;j<cnt;j++)
if(b[i]>bUl)
{data=b[I];b[I]=b[j];b[j]=data;}
题目57:设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行I到m的
报数,报数到第个m人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行
下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。
请考生编制函数Josegh()实现此功能并调用函数WriteDat。把结果p输出到文件OUT.DAT
中。
设n=100,s=l,m=10.
⑴将1到n个人的序号存入一维数组p中;
(2)若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第
i个元素依次向前移动一个位置;
(3)重复第(2)步直至圈中只剩下p[l]为止。
部分源程序已给出。
请勿改动主函数main。和输出数据函数writeDat()的内容。
voidJosegh(void)
{intI,j,k,sl,w;
sl=s;
for(I=l;I<=n;I-H-)p[M]=I;
fbr(I=n;I>=2;I-)
{sl=(sl+m-l)%I;
if(sl==0)sl=I;
w=p[sl-l];
fbr(j=sl;j<=I-l;j++)pU-l]=p[j];
p[I-l]=w;}
}题目64:下列程序的功能是:找出所有100以内(含100)满足
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全国乙卷高考数学三角函数规律专题卷含解析
- 2026春泰山版(新教材)小学信息技术四年级下册《数据焕彩新生活》同步练习及答案
- 施肥机械操作工安全综合知识考核试卷含答案
- 金属材酸洗工冲突管理强化考核试卷含答案
- 森林园林康养师班组安全强化考核试卷含答案
- 行业自律发展导向
- 融媒体技术就业前景解析
- 主题教育是以实践
- 肠道微生态制剂老年人临床应用专家共识总结2026
- 2026 三年级上册语文《秋天的果园之旅》课件
- 国家事业单位招聘2025中国宋庆龄青少年科技文化交流中心招聘人员笔试历年参考题库典型考点附带答案详解
- 安徽省合肥市2026届高三下学期第二次教学质量检测政治卷及答案
- 2026安徽省交控建设管理有限公司校园招聘5人笔试参考题库附带答案详解
- GB/T 46940-2025中医药中医临床术语系统分类框架
- 数据安全培训协议
- 博士后导师协议书
- 专题06 拓展:对勾函数、飘带函数、V型函数、高斯函数的四大题型(高效培优专项训练)数学北师大版2019必修第一册(解析版)
- 派安普利单抗注射液-临床用药解读
- 药企消防安全培训课件
- 村镇建设科培训课件
- 室内概念方案汇报
评论
0/150
提交评论