☆题目1 请编写一个函数jsvalue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。 最后调用函数writedat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。 部分源程序存在文件prog1.c中。 例如:若输入17 5 则应输出:19,23,29,31,37。 请勿改动主函数main()和写函数writedat()的内容。 #include #include void readwritedat(); int isp(int m) { int i; for(i=2;i if(m % i==0)return 0; return 1; } void num(int m,int k,int xx[]) { int s=0; for(m=m+1;k>0;m++) if(isp(m)) { xx[s++]=m; k--;} } main() { int m,n,xx[1000]; clrscr(); printf('/nplease enter two integers:'); scanf('%d%d',&m,&n); num(m,n,xx); for(m=0;m printf('%d ',xx[m]); printf('/n'); readwritedat(); } void readwritedat() { int m,n,xx[1000], i; file *rf,*wf; rf=fopen('in.dat','r'); wf=fopen('out.dat','w'); for(i=0;i<10;i++){ fscanf(rf,'%d %d',&m,&n); num(m,n,xx); for(m=0;m } fclose(rf); fclose(wf); } ☆ 题目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()的内容。 #include #define max 200 int a[max], b[max], cnt = 0 ; void jsval() { int i,j,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&&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]} void readdat() { int i ; file *fp ; fp = fopen('in.dat', 'r') ; for(i = 0 ; i < max ; i++) fscanf(fp, '%d', &a[i]) ; fclose(fp) ; } void main() { int i ; readdat() ; jsval() ; printf('满足条件的数=%d/n', cnt) ; for(i = 0 ; i < cnt ; i++) printf('%d ', b[i]) ; printf('/n') ; writedat() ; } writedat() { file *fp ; int i ; fp = fopen('out.dat', 'w') ; fprintf(fp, '%d/n', cnt) ; for(i = 0 ; i < cnt ; i++) fprintf(fp, '%d/n', b[i]) ; fclose(fp) ; } ******************************************************************************★题目3 函数readdat( )实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中;请编制函数stror( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。最后main()函数调用函数writedat()把结果xx输出到文件out5.dat中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序存放在文件prog1.c中。 请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。 #include #include #include char xx[50][80] ; int maxline = 0 ; /* 文章的总行数 */ int readdat(void) ; void writedat(void) ; void stror(void) {int i,righto,j,s,k; char tem[80]; for(i=0;ifor(j=strlen(xx[i])-1;j>=0;j--) { k=0; memset(tem,0,80);
|