国三.docx

上传人:b****3 文档编号:4311114 上传时间:2022-11-29 格式:DOCX 页数:104 大小:48.18KB
下载 相关 举报
国三.docx_第1页
第1页 / 共104页
国三.docx_第2页
第2页 / 共104页
国三.docx_第3页
第3页 / 共104页
国三.docx_第4页
第4页 / 共104页
国三.docx_第5页
第5页 / 共104页
点击查看更多>>
下载资源
资源描述

国三.docx

《国三.docx》由会员分享,可在线阅读,更多相关《国三.docx(104页珍藏版)》请在冰豆网上搜索。

国三.docx

国三

1、请编写一个函数jsValue(intm,intk,intxx[]),该函数的功能是:

将大于整数m且紧靠m的k个素数存入数组xx传回。

最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。

部分源程序存在文件prog1.c中。

例如:

若输入175则应输出:

19,23,29,31,37。

请勿改动主函数main()和写函数writeDat()的内容。

方法一:

intisp(intm)

{

inti;

for(i=2;i

if(m%i==0)

return0;

return1;

}

voidnum(intm,intk,intxx[])

{

inti,cnt=0;

for(i=m+1;cnt

if(isp(i))

xx[cnt++]=i;

}

方法二:

voidnum(intm,intk,intxx[])

{

intn=0,j;

for(m=m+1;k>0;m++)

{

for(j=2;j

if(m%j==0)

break;

if(m==j)

{

xx[n++]=m;

k--;

}

}

}

2、已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:

如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。

最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。

注意:

部分源程序存在文件prog1.c中。

程序中已定义数组:

a[200],b[200],已定义变量:

cnt

请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

方法一:

voidjsVal()

{

inti,j,t;

for(i=0;i<200;i++)

if(a[i]/1000%2==0&&a[i]/100%10%2==0

&&a[i]/10%10%2==0&&a[i]%10%2==0)

b[cnt++]=a[i];

for(i=0;i

for(j=0;j

if(b[j]

{t=b[j];b[j]=b[j+1];b[j+1]=t;}

}

方法二:

voidjsVal()

{

inti,j,t,qw,bw,sw,gw;

for(i=0;i

{

qw=a[i]/1000;bw=a[i]/100%10;

sw=a[i]%100/10;gw=a[i]%10;

if(qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0)

b[cnt++]=a[i];

}

for(i=0;i

for(j=i+1;j

if(b[i]

{t=b[i];b[i]=b[j];b[j]=t;}

}

3、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR(),其函数的功能是:

以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。

最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DAT中。

例如:

原文:

nanyfield.Yucancreateanindex

youhavethecorrectrecord.

结果:

nanyfield.Yucancreateanindex

rd.yuhavethecrrectrec

原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格。

注意:

部分源程序存放在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一:

voidStrOR(void)

{

inth,n,j;

charyy[80];

for(h=0;h

{

n=strlen(xx[h]);

for(j=0;j

if(xx[h][j]=='o')

{

strcpy(yy,&xx[h][j+1]);

xx[h][j]=0;

strcat(yy,&xx[h][0]);

strcpy(xx[h],yy);

j=-1;

}

}

}

方法二:

voidStrOR(void)

{

inti,j;

chara[80];

for(i=0;i

{

for(j=0;j<(int)strlen(xx[i]);j++)

{

if(xx[i][j]=='o')

{

strcat(a,xx[i]+j+1);

xx[i][j]=0;

strcat(a,xx[i]);

strcpy(xx[i],a);

j=-1;

a[0]=0;

}

}

}

}

4、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:

以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。

最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。

例如:

原文:

YouHeMe

Iamastudent.

     结果:

MeHeYou

studentaamI

原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

方法一:

voidStrOL(void)

{

inth,n,j;

charyy[80];

for(h=0;h

{

n=strlen(xx[h]);

yy[0]=0;

for(j=n-1;j>0;j--)

if(isalpha(xx[h][j])==0)

{

strcat(yy,&xx[h][j+1]);

xx[h][j]=0;

strcat(yy,"");

}

strcat(yy,&xx[h][0]);

strcpy(xx[h],yy);

}

}

方法二:

voidStrOL(void)

{

inti,j,n;

charstr[80];

for(i=0;i

{

n=strlen(xx[i]);

str[0]=0;

for(j=n-1;j>=0;j--)

if(!

isalpha(xx[i][j]))

{

strcat(str,xx[i]+j+1);

xx[i][j]=0;

strcat(str,"");

}

strcat(str,xx[i]);

strcpy(xx[i],str);

}

}

5、在文件in.dat中有200个正整数,且每个数均在1000至9999之间。

函数ReadDat()读取这200个数存放到数组aa中。

请编制函数jsSort(),其函数的功能是:

要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。

最后调用函数WriteDat()把结果bb输出到文件out.dat中。

例:

处理前60125099901270258088

处理后90126012702580885099

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一:

voidjsSort()

{

inti,j,t;

for(i=0;i<199;i++)

for(j=0;j<199;j++)

if(aa[j]%1000>aa[j+1]%1000||

aa[j]%1000==aa[j+1]%1000&&aa[j]

{t=aa[j];aa[j]=aa[j+1];aa[j+1]=t;}

for(i=0;i<10;i++)

bb[i]=aa[i];

}

方法二:

voidjsSort()

{

inti,j,data;

for(i=0;i<199;i++)

for(j=i+1;j<200;j++)

if(aa[i]%1000>aa[j]%1000||

aa[i]%1000==aa[j]%1000&&aa[i]

{data=aa[i];aa[i]=aa[j];aa[j]=data;}

for(i=0;i<10;i++)

bb[i]=aa[i];

}

6、在文件in.dat中有200个正整数,且每个数均在1000至9999之间。

函数ReadDat()读取这200个数存放到数组aa中。

请编制函数jsSort(),其函数的功能是:

要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。

最后调用函数WriteDat()把结果bb输出到文件out.dat中。

例:

处理前90125099601270258088

处理后50998088702560129012

注意:

部分源程序已给出。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一:

voidjsSort()

{

inti,j,t;

for(i=0;i<199;i++)

for(j=0;j<199;j++)

if(aa[j]%1000

aa[j]%1000==aa[j+1]%1000&&aa[j]>aa[j+1])

{t=aa[j];aa[j]=aa[j+1];aa[j+1]=t;}

for(i=0;i<10;i++)

bb[i]=aa[i];

}

方法二:

voidjsSort()

{

inti,j,data;

for(i=0;i<199;i++)

for(j=i+1;j<200;j++)

if(aa[i]%1000

aa[i]%1000==aa[j]%1000&&aa[i]>aa[j])

{data=aa[i];aa[i]=aa[j];aa[j]=data;}

for(i=0;i<10;i++)

bb[i]=aa[i];

}

7、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。

其中:

金额=单价*数量计算得出。

函数ReadDat()是读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat(),其功能要求:

按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一;

voidSortDat()

{

inti,j;

PROtemp;

for(i=0;i<99;i++)

for(j=0;j<99;j++)

if(strcmp(sell[j].dm,sell[j+1].dm)<0||

strcmp(sell[j].dm,sell[j+1].dm)==0&&

sell[j].je

{temp=sell[j];sell[j]=sell[j+1];sell[j+1]=temp;}}

方法二:

voidSortDat()

{

inti,j;

PROxy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(sell[i].dm,sell[j].dm)<0||

strcmp(sell[i].dm,sell[j].dm)==0&&

sell[i].je

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

8、函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DAT中。

  替代关系:

f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。

部分源程序存在文件prog1.c中。

原始数据文件存放的格式是:

每行的宽度均小于80个字符。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一:

voidencryptChar()

{

inti,j;

for(i=0;i

for(j=0;j

if(xx[i][j]*11%256<=32||xx[i][j]*11%256>130)

xx[i][j]=xx[i][j];

elsexx[i][j]=xx[i][j]*11%256;

}

方法二:

voidencryptChar()

{

inti,j,f;

for(i=0;i

for(j=0;j

{

f=xx[i][j]*11%256;

if(!

(f<=32||f>130))

xx[i][j]=f;

}

}

9、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:

以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。

例:

原文:

dAe,BfC.

CCbbAA

结果:

fedCBA.

bbCCAA

原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

方法一:

voidSortCharD(void)

{

inth,n,i,j;

chart;

for(h=0;h

{

n=strlen(xx[h]);

for(i=0;i

for(j=0;j

if(xx[h][j]

{t=xx[h][j];xx[h][j]=xx[h][j+1];xx[h][j+1]=t;}

}

}

方法二:

voidSortCharD(void)

{

inti,j,k,n;

charch;

for(i=0;i

{

n=strlen(xx[i]);

for(j=0;j

for(k=j+1;k

if(xx[i][j]

{ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;}

}

}

10、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数ConvertCharA(),其函数的功能是:

以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a。

大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。

把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT1.DAT中。

例:

原文:

Adb.Bcdza

abck.LLhj

结果:

Aec.Bdeab

bcdl.LLik

原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数writeDat()的内容。

方法一:

voidConvertCharA(void)

{

inth,n,j;

chart;

for(h=0;h

{

n=strlen(xx[h]);

for(j=0;j

if(xx[h][j]>='a'&&xx[h][j]<='z')

if(xx[h][j]=='z')xx[h][j]='a';

elsexx[h][j]=xx[h][j]+1;

}

}

方法二:

voidConvertCharA(void)

{

inti,j;

for(i=0;i

for(j=0;j

if(xx[i][j]=='z')xx[i][j]='a';

elseif(xx[i][j]>='a'&&xx[i][j]<='y')xx[i][j]+=1;

}

11、程序prog1.c的功能是:

把s字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。

要求大写字母仍为大写字母,小写字母仍为小写字母,其它字符不做改变。

请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT()把结果输出到文件bc1.out中。

例如:

s字符串中原有的内容为:

Mn.123Zxy,则调用该函数后,结果为:

No.123Ayz。

注意:

部分源程序存在文件prog1.c文件中。

请勿改动主函数main()和输出数据函数readwriteDAT()的内容。

方法一:

voidchg(char*s)

{

intj;

for(j=0;j

if(isalpha(s[j]))

if(s[j]=='z')

s[j]='a';

elseif(s[j]=='Z')

s[j]='A';

else

s[j]=s[j]+1;

}

方法二:

voidchg(char*s)

{

while(*s)

if(*s=='z'||*s=='Z'){*s-=25;s++;}

elseif(*s>='a'&&*s<='y'){*s+=1;s++;}

elseif(*s>='A'&&*s<='Y'){*s+=1;s++;}

elses++;

}

12、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。

其中:

金额=单价*数量计算得出。

函数ReadDat()是读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat(),其功能要求:

按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一:

voidSortDat()

{

inti,j;

PROtemp;

for(i=0;i<99;i++)

for(j=0;j<99;j++)

if(strcmp(sell[j].mc,sell[j+1].mc)>0||

strcmp(sell[j].mc,sell[j+1].mc)==0&&

sell[j].je>sell[j+1].je)

{temp=sell[j];sell[j]=sell[j+1];sell[j+1]=temp;}}

方法二:

voidSortDat()

{

inti,j;

PROxy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(sell[i].mc,sell[j].mc)>0||

strcmp(sell[i].mc,sell[j].mc)==0&&

sell[i].je>sell[j].je)

{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}

}

13、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。

其中:

金额=单价*数量计算得出。

函数ReadDat()是读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat(),其功能

要求:

按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT9.DAT中。

部分源程序存在文件prog1.c中。

请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

方法一:

voidSortDat()

{

PROtemp;

inti,j;

for(i=0;i<99;i++)

for(j=0;j<99;j++)

if(strcmp(sell[j].dm,sell[j+1].dm)>0||

strcmp(sell[j].dm,sell[j+1].dm)==0&&

sell[j].je

{temp=sell[j];sell[j]=sell[j+1];sell[j+1]=temp;}

}

方法二:

voidSortDat()

{

inti,j;

PROxy;

for(i=0;i<99;i++)

for(j=i+1;j<100;j++)

if(strcmp(se

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1