




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
13 请编写一个函数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 void jsValue(int m,int k,int xx)int i,j,p,r; p=m;r=0; for(i=0;ik;i+) p=p+1; for(j=2;jp;j+) if(p%j=0) p=p+1; j=1;if(j=p) xxr+=p; main() int m,n,zz100; printf(n请输入两个整数:); scanf(%d%d,&m,&n); jsValue(m,n,zz); for(m=0;mn;m+)printf(%d ,zzm); printf(n); writeDat();writeDat() int m,n,zz100,i; FILE *in,*out; in=fopen(in.dat,r); out=fopen(out.dat,w); for(i=0;i10;i+) fscanf(in,%d%d,&m,&n); jsValue(m,n,zz); for(m=0;mn;m+)fprintf(out,%d ,zzm); fprintf(out,n); fclose(in); fclose(out);*15 下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。 请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。 最后调用函数writeDat()把结果输出到文件out.dat中。 请勿改动主函数main()和写函数writeDat()的内容。#include int jsValue(int bb) int i,a,d,e,c,p; p=0; for(i=10;i=100&a1000) c=a/100;e=(a-c*100)/10;d=a-c*100-e*10;if(c=e)|(c=d)|(d=e)bbp=a; p+; return p-;main() int b20,num; num=jsValue(b); writeDat(num,b);writeDat(int num,int b) FILE *out; int i; out=fopen(out.dat,w); printf(%dn,num); fprintf(out,%dn,num); for(i=0;inum;i+)printf(%dn,bi);fprintf(out,%dn,bi); fclose(out);*17 下列程序的功能是:将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现此功能,最后调用writeDat()函数将新序列输出到文件out.dat中。 说明:在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a109中,分别求出这10个新序列。 例:序列6,8,9,1,2,5,4,7,3 经重排后成为3,4,5,2,1,6,8,9,7 部分源程序存在文件prog1.c中。 请勿改动主函数main()和写函数writeDat()的内容。#include jsValue(int a109)int i,j,p,k,temp; int b109; for(i=0;i10;i+) for(j=0;j9;j+) bij=aij; for(i=0;i10;i+) p=bi0; for(j=1;j9;j+) if(bij=0;k-)aik+1=aik;ai0=temp; main() int a109=6,8,9,1,2,5,4,7,3, 3,5,8,9,1,2,6,4,7, 8,2,1,9,3,5,4,6,7, 3,5,1,2,9,8,6,7,4, 4,7,8,9,1,2,5,3,6, 4,7,3,5,1,2,6,8,9, 9,1,3,5,8,6,2,4,7, 2,6,1,9,8,3,5,7,4, 5,3,7,9,1,8,2,6,4, 7,1,3,2,5,8,9,4,6, ; int i,j; jsValue(a); for(i=0;i10;i+) for(j=0;j9;j+) printf(%d,aij); if(j=7)printf(,); printf(n); writeDat(a);writeDat(int a109) FILE *fp; int i,j; fp=fopen(out.dat,w); for(i=0;i10;i+) for(j=0;j9;j+) printf(%d,aij); fprintf(fp,%d,aij); if(j=7) fprintf(fp,); printf(n); fprintf(fp,n); fclose(fp);*19 某级数的前两项A1=1,A2=1,以后各项具有如下关系: An=An-2+2An-1(注:n-2与n-1为下标) 下列程序prog1.c的功能是:要求依次对于整数M=100,1000和10000求出对应的n值,使其满足:Sn=M,这里Sn=A1+A2+.+An,并依次把n值存入数组单元b0,b1和b2中,请编制jsValue()函数来实现此功能, 最后调用函数writeDat()把数组b中的值输出到out.dat文件中。 请勿改动主函数main()和写函数writeDat()的内容。#include int b3;jsValue() int i,a1,a2,a,Sn; a1=1; a2=1; Sn=a1;i=1; while (Sn100) Sn=Sn+a2; a=a1; a1=a2; a2=a+2*a1; if (Sn100) i+; b0=i; a1=1; a2=1; Sn=a1;i=1; while (Sn1000) Sn=Sn+a2;a=a1;a1=a2;a2=a+2*a1;if (Sn1000) i+; b1=i; a1=1; a2=1; Sn=a1;i=1; while (Sn10000) Sn=Sn+a2;a=a1;a1=a2;a2=a+2*a1;if (Sn10000) i+; b2=i; main() jsValue();printf(M=100,n=%dnM=1000,n=%dnM=10000,n=%dn,b0,b1,b2); writeDat(); writeDat() FILE *fp; fp=fopen(out.dat,w); printf(%dn%dn%dn,b0,b1,b2); fprintf(fp,%dn%dn%dn,b0,b1,b2); fclose(fp);*21 下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include int cnt,sum;int isPrime(int number) int i,tag=1; for(i=2;tag & i=number / 2; i+) if(number % i =0) tag =0; return tag;void countValue()int i,a1,a2,a3; i=2; cnt=0; sum=0; while(i+10 100) if(isPrime(i)!=0)&(isPrime(i+4)!=0)&(isPrime(i+10)!=0) cnt=cnt+1; sum=sum+i; i=i+1; void main() cnt=sum=0; countValue(); printf(满足条件的整数的个数%dn,cnt); printf(满足条件的整数的和值%dn,sum); writeDat();writeDat() FILE *fp; fp=fopen(out.dat,w); fprintf(fp,%dn%dn,cnt,sum); fclose(fp);*24 下列程序的功能是:求出ss字符串中指定字符c的个数,并返回此值。请编写函数int num(*char ss,char c)实现程序要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。(注:大小写字母有区别) 例如,若输入字符串ss=123412132,c=1,则输出3。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include #include #define M 81void readwriteDAT();int num(char *ss,char c)int i,cnt; cnt=0; for (i=0;istrlen(ss);i+) if (ssi=c) cnt+; return cnt;main() char aM,ch; clrscr(); printf(nPlease enter a string:);gets(a); printf(nPlease enter a char:);ch=getchar(); printf(nThe number of the char is:%dn,num(a,ch); readwriteDAT();void readwriteDAT() int i; FILE *rf,*wf; char aM,bM,ch; rf=fopen(in.dat,r); wf=fopen(out.dat,w);for(i = 0 ; i 25 ; i+) fscanf(rf, %s, a) ; fscanf(rf, %s, b) ; ch = *b ; fprintf(wf, %c=%dn, ch, num(a, ch) ; fclose(rf); fclose(wf);*26 下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx)实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。 例如:若输入17 5则应输出:19 23 29 31 37。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数readwriteDat()的内容。#include #include void readwriteDat();int isP(int m) int i; for(i=2;im;i+) if(m % i=0)return 0; return 1;void num(int m,int k,int xx)int i,p,r; p=m;r=0;i=0; while(ik) p=p+1; if (isP(p) != 0) xxr+=p; i=i+1; main() int m,n,xx1000; clrscr(); printf(nPlease enter two integers:); scanf(%d%d,&m,&n); num(m,n,xx); for(m=0;mn;m+) printf(%d ,xxm); printf(n); readwriteDat();void readwriteDat() int m,n,xx1000, i; FILE *rf,*wf; rf=fopen(in.dat,r); wf=fopen(out.dat,w); for(i=0;i10;i+) fscanf(rf,%d %d,&m,&n); num(m,n,xx); for(m=0;mn;m+)fprintf(wf,%d ,xxm); fprintf(wf,n); fclose(rf); fclose(wf);*28 下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字符,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char *s)实现程序的要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。 例如:s字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为No.123Ayz。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include #include #include #include #define N 81void readwriteDAT();void chg(char *s)int i,j,k; char b81; strcpy(b,s); i=strlen(b); for(j=0;j=97&bj=65&bj90) bj=bj+1; else if(bj=122) bj=97; else if(bj=90) bj=65; strcpy(s,b);main() char aN; clrscr(); printf(Enter a string:);gets(a); printf(The original string is;);puts(a); chg(a); printf(The string after modified:); puts(a); readwriteDAT();void readwriteDAT() int i; char aN; FILE *rf,*wf; rf=fopen(in.dat,r); wf=fopen(out.dat,w); for(i=0;i10;i+) fscanf(rf,%s,a); chg(a); fprintf(wf,%sn,a); fclose(rf); fclose(wf);*38 请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909064。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。#include #include #include double countValue(int n)int i,sum; double s; i=1;sum=0; while(in) if(i%3=0)&(i%7=0) sum=sum+i; i+; s=sqrt(sum); if (s0) s=-s; return s;main() clrscr(); printf(自然数之和的平方根=%fn,countValue(1000); progReadWrite();progReadWrite() FILE *fp,*wf; int i,n; float s; fp=fopen(in.dat,r); if(fp=NULL) printf(数据文件in.dat不存在!); return; wf=fopen(out.dat,w); for(i=0;i10;i+) fscanf(fp,%dn,&n); s=countValue(n); fprintf(wf,%fn,s); fclose(fp);fclose(wf);*46 下列程序prog1.c的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数.的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT11.DAT中。 部分源程序已给出。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include int cnt,sum;void countValue() int i,j,a300,tmp; for(i=500;i=800;i+) for(j=2;ji;j+) if(i%j = 0) j=i+1; if(j=i) acnt=i; cnt+; for(i=0;icnt-1;i+) for(j=i+1;jcnt;j+) if(aiaj) tmp=ai; ai=aj; aj=tmp; for(i=0;icnt;i+) if(i%2!=0) ai=-ai; sum=sum+ai; void main() cnt=sum=0; countValue(); printf(素数的个数=%dn,cnt); printf(按要求计算的值=%dn,sum); writeDat();writeDat() FILE *fp; fp=fopen(OUT11.DAT,w); fprintf(fp,%dn%dn,cnt,sum); fclose(fp);*48 下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include int cnt,sum;void countValue()int i,a,b,c,d; for(i=1000;i5000;i+) a=i/1000; b=(i-a*1000)/100; c=(i-a*1000-b*100)/10; d=i-a*1000-b*100-c*10; if(a+b)=(c+d)&(a+b)=(d-a)*10) cnt+; sum=sum+i; void main() cnt=sum=0; countValue(); printf(满足条件的自然数的个数=%dn,cnt); printf(满足条件的自然数的个数之和=%dn,sum); writeDat();writeDat() FILE *fp; fp=fopen(OUT13.DAT,w); fprintf(fp,%dn%dn,cnt,sum); fclose(fp);*50 下列程序prog1.c的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX+SIX+SIX=NINE+NINE的个数cnt以及满足此条件所有的SIX与NINE的和SUM。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT15.DAT中。 其中的S,I,X,N,E各代表一个十进制数字。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include int cnt,sum;void countValue() int SIX,NINE; for(SIX=666;SIX=999;SIX+) for(NINE=1000;NINE=9999;NINE+) if(SIX+SIX+SIX)=(NINE+NINE)&(SIX/10%10=NINE/100%10)&(NINE/10%10=NINE/1000) cnt+; sum=sum+SIX+NINE; void main() cnt=sum=0; countValue(); printf(满足条件的个数=%dn,cnt); printf(满足条件所有的SIX与NINE的和=%dn,sum); writeDat();writeDat() FILE *fp; fp=fopen(OUT15.DAT,w); fprintf(fp,%dn%dn,cnt,sum); fclose(fp);*52 下列程序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)若X0-X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。 请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果输出到文件OUT17.DAT中。 部分源程序已给出。 请勿改动主函数main()和输出数据函数writeDat()的内容。#include #include #include float countValue() double x0,x1; x1=0.0; x0=x1;x1=cos(x0); while(fabs(x0-x1)=0.000001) x0=x1; x1=cos(x0); return x1;main() clrscr(); printf(实根=%fn,countValue(); printf(%fn,cos(countValue()-countValue(); writeDat();writeDat() FILE *wf; wf=fopen(OUT17.DAT,w); fprintf(wf,%fn,countValue(); fclose(wf);*54 请编写函数void countValue(int *a,int *n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7或11整除的所有整数放在数组a中,并通过n返回这些数的个数。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDAT()的内容。#include #include void countValue(int *a,int *n)int i; *n=0; for(i=1;i=1000;i+) if(i%77!=0)&(i%11=0)|(i%7=0) a*n=i; (*n)+; main() int aa1000,n,k; clrscr(); countValue(aa,&n); for(k=0;kn;k+) if(k+1)%10=0)printf(n); else printf(%5d,aak); writeDAT();writeDAT() int aa1000,n,k; FILE *fp; fp=fopen(out19.dat,w); countValue(aa,&n); for(k=0;kn;k+) if(k+1)%10=0) fprintf(fp,n); else fprintf(fp,%5d,aak);fprintf(fp,n); fclose(fp);*66 下列程序的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请编写函数chg(chr *s)实现程序要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。(注:大小写字母有区别) 例如,s字符串中原有内容为:Mn.123xyZ,则调用该函数后,结果为:n.123xyZM。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数readwriteDAT()的内容。 #include #include #define N 81void readwriteDAT();void chg(char *s)int i,j,temp; char b81; strcpy(b,s); j=strlen(b); temp=b0; for(i=1;ij;i+) bi-1=bi; bj-1=temp; strcpy(s,b);main() char aN; clrscr(); printf(Enter a string:);gets(a); printf(The original string is;);puts(a); chg(a); printf(The string after modified:); puts(a); readwriteDAT();void readwriteDAT() int i; char aN; FILE *rf,*wf; rf=fopen(in.dat,r); wf=fopen(out.dat,w); for(i=0;i10;i+) fscanf(rf,%s,a); chg(a); fprintf(wf,%sn,a); fclose(rf); fclose(wf);*68 下列程序的功能是:统计在tt字符串中a到z26个字母各自出现的次数,并存入pp数组。请编写函数cnt(char *tt,int pp)实现程序要求,最后调用函数readwriteDat()把结果输出到文件out.dat中。(注:仅统计小写字母) 例如,当输入字符串:abcdefgabcdeabc后, 输出的结果应该是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数readwriteDAT()的内容。/*参考答案*/#include #include void readwriteDAT();void cnt(char *tt,int pp) int i,j,m; char aa1000; strcpy(aa,tt); m=strlen(aa); for(i=0;i26;i+) ppi=0; for(i=0;im;i+) for(j=0;j26;j+) if(aai-97)=j) ppj=ppj+1; j=26; main() char tt1000; int pp26,k,n; clrscr(); printf(nPlease enter a char string:);scanf(%s,tt); cnt(tt,pp); for(k=0;k26;k+)printf(%d ,ppk); printf(n); readwriteDAT();void readwriteDAT() char tt1000; int pp26,k,n,i; FILE *rf,*wf; rf=fopen(in.dat,r); wf=fopen(out.dat,w); for(i=0;i10;i+) fscanf(rf,%s,tt); cnt(tt,pp); for(k=0;k26;k+)fprintf(wf,%d ,ppk); fprintf(wf,n); fclose(rf); fclose(wf);*70 下列程序的功能是:设A,B,C为三个不为零的正整数,计算并输出下列不定方程组解的个数cnt以及满足此条件的所有A,B,C之和sum。 不定方程组为: A+B+C=13 A-C=5 请编写函数countValue实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。/*参考答案*/#include int cnt,sum;void countValue() int i,j,k; for(i=1;i=13;i+) for(j=1;j=13;j+) for(k=1;k=13;k+) if(i+j+k)=13&(i-k)=5) cnt+; sum=13*cnt;void main() cnt=sum=0; countValue(); printf(满足条件的个数=%dn,cnt); printf(满足条件的所有的A,B,C之和=%dn,sum); writeDat();writeDat() FILE *fp; fp=fopen(out.dat,w); fprintf(fp,%dn%dn,cnt,sum); fclose(fp);*72 下列程序的功能是:选出100以上1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。请编写函数countValue实现程序要求,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 部分源程序存在文件prog1.c中。 请勿改动主函数main()和输出数据函数writeDat()的内容。/*参考答案*/#include int cnt,sum;void countValue()int i,j,a,b,c,d,x; cnt=0;sum=0;x=1; for(i=100;i1000;i+) x=1; a=i/100; b=i/10%10; c=i%10; d=(b+c)%10; if(a=d) for(j=2;ji/2;j+) if(i%j=0) x=0; if(x=1) cnt+; sum=sum+i; void main() cnt=sum=0; countValue(); printf(素数的个数=%dn,cnt); printf(满足条件素数值的和=%d,sum); writeDat();writeDat() FILE *fp; fp=fopen(out.dat,w); fprintf(fp,%dn%dn,cnt,sum); fclose(fp);*74 在文件in.dat存放了10位选手参赛,6位评委给选手打分的数据。计算各位选手的得分规则是去掉一个最高分和一个最低分,最后得分是剩下分数的算术平均值。在下列程序中,函数readDat()是从文件in.dat中读取10位选手的评委打分数据并存入数组mark106中,要求编写函数jsValue()计算出每位选手的得分并依次存入数组score10中,最后调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年物联网工程技术高级考试模拟试题及复习策略指导
- 2025年煤气安全操作规范学习笔记与考试重点梳理
- 甲醇安全知识培训资料课件
- 优翼数学高中教学课件
- 甩头试验课件
- 湖北省黄石市两区联考2024-2025学年八年级下学期期末历史试题
- 2024-2025学年河北省邯郸市七年级(下)期末数学试卷(含答案)
- 用电安全知识培训班课件
- 生鲜食品安全知识培训课件
- 生物类基础知识培训课件
- 跨境出口策划方案(3篇)
- 小学数学教师进城选调考试试题及答案
- 慢性鼻窦炎诊断和治疗指南(2024)解读
- 2025至2030中国太阳能发电中的水泵行业发展趋势分析与未来投资战略咨询研究报告
- 厂内专用垃圾转运方案(3篇)
- 2025年地质勘探与资源矿产管理技术考试试题及答案
- 中小学教师中高级职称答辩备考试题及答案(50题)
- 2025年电信传输工程师职称考试试题
- 2024-2025学年人教版八年级数学上册《全等三角形》综合训练练习题(含答案解析)
- 肾内科常见病诊疗与管理
- 口腔医生岗前培训课件
评论
0/150
提交评论