c语言
本文由gongjian860223贡献
doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机
查看。
题目 1:下列程序的功能是:将大于整数 m 且紧靠 m 的 k 个素数存入数组 x
x。请编写函数 num(int m,int k,int xx[])实现函数的要求 ,最后调用函数 readw
riteDAT()把结果输出到文件 out.dat 中。 例如:若输入 17,5,则应输出:19,23,29,31,37。 注意:部分源程序已给出。 请勿改动主函数 main()和函数 readw
riteDAT()的内容。 类型:素数。 void num(int m,int k,int xx[]) {int data=m+1; int half,n=0,I; while(1) {half=data/2;for(I=2;I<=half;I++) if(data%I==0
)break; if(I>half) {xx[n]=data;n++;} if(n>=k)break; data++; }} 题目 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()和写函数 wr
iteDat()的内容。 void jsVal() {int bb[4]; int I,j,k,flag; for (I=0;I<200;I
++) {bb[0]=a[I]/1000; bb[1]=a[I]%1000/100; bb[2]=a[I]%100/10; bb[3]=a[I]%10; for (j=0;j<4;j++) {if (bb[j]%2==0) flag=1; else {flag=0;break;} } if (f
lag==1) { b[cnt]=a[I];
cnt++;} } for(I=0;I<cnt-1;I++) for(j=I+1;j<cnt;j++) if (b[I]aa[j]%100
0) {data=aa[I];aa[I]=aa[j];aa[j]=data;} else if(aa[I]%1000==aa[j]%1000) if(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 中,最后调用 函数 Wr
iteDat()把结果输出到文件 OUT10.DAT 中。 注意: 部分源程序存放在 PROG1.C 中。
请勿改动主函数 main( )、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。
void SortDat() {int I,j; PRO xy; for(I=0;I<99;I++) for(j=I+1;j<100;j+
+) if(strcmp(sell[I].dm,sell[j].dm)<0) {xy=sell[I];sell[I]=sell[j];sell[j]
=xy;} else if(strcmp(sell[I].dm,sell[j].dm)==0) if(sell[I].je130||*pf*11%2
56<=32); else *pf=*pf*11%256; pf++; } } } 题目 9: 函数 ReadDat( )实现从文
件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中; 请 编制函数 SortCharD( ), 其函数的功能是: 以行为单位对字符按从大到小的顺序进行排序, 排 序后的结果
仍按行重新存入字符串数组 xx 中。 最后 main()函数调用函数 WriteDat()把结果
xx 输出到文件 OUT2.DAT 中。 例: 原文: dAe,BfC. CCbbAA 结果: fedCBA., bbCCA
A 原始数据文件存放的格式是: 每行的宽度均小于 80 个字符, 含标点符号和空格。
注意: 部分源程序存放在 PROG1.C 中。
请勿改动主函数 main( )、读数据函数 ReadDat()和输出数据函数 WriteDat()
的内容。 类型:字符串(单词)的倒置和删除。 void SortCharD(void) {int I,j,k,strl; char ch; for(I=0;I<maxline;I++) {strl=strlen(xx[I]); for(j=0;j='a'
&&xx[I][j]<='y') xx[I][j]+=1; } } 题目 11:下列程序的功能是:把 s 字符串中
的所有字母改写成该字母的下一个字符,字母 z 改写成字母 a。要求大写字母仍为大
写字母,小写字母仍为小写字母,其他字符不做改变。 请编写函数 chg(char *s)实
现程序的要求,最后调用函数 readwriteDat()把结果输出到文件 out.dat 中。 例如
:s 字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为 No.123Ayz。 注意:部分源程序已给出。 请勿改动主函数 main()和输出数据函数 readwriteDat()的
page 1