1、n); jsValue(m,n,zz); for(m=0;m=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-; int b20,num; num=jsValue(b); writeDat(num,b);writeDat(int num,int b) FILE *out; int i;%dn,num);num;i+)printf(,bi);fprintf(out,17_ 下列程序的功能是:将一正整数序列K1,K2,.,K9重新排列成一个新的序列。新序列中,比K
2、1小的数都在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,7jsValue(int a109)int i,j,p,k,temp; int b109; for(j=0;9; bij=aij; p=bi0; for(j=1; if(bij=0;k-) aik+1=aik; ai0=temp
3、; 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);j+) %d,aij); if(j=7)printf( writeDat(a);writeDat(int a109) FILE *fp; fp=fopen
4、(j+) fprintf(fp,=7) fprintf(fp, 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文件中。int b3;jsValue() int i,a1,a2,a,Sn; a1=1;
5、a2=1; Sn=a1;i=1; while (Sn100) Sn=Sn+a2; a=a1; a1=a2; a2=a+2*a1; if (Sn100) i+; b0=i;a=a1;a1=a2;a2=a+2*a1;if (Sn1000) i+; b1=i;10000)10000) i+; b2=i; jsValue();printf(M=100,n=%dnM=1000,n=%dnM=10000,n=%dn,b0,b1,b2);%dn%dn%dn21_ 找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数cou
6、ntValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 请勿改动主函数main()和输出数据函数writeDat()的内容。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 #define M 81void readwrit
7、eDAT();int num(char *ss,char c)int i,cnt; for (i=0;strlen(ss); if (ssi=c) cnt+; return cnt; char aM,ch; clrscr();nPlease enter a string:gets(a);nPlease enter a char:ch=getchar();nThe number of the char is:,num(a,ch); readwriteDAT();void readwriteDAT() FILE *rf,*wf; char aM,bM,ch; rf=fopen( wf=fopen(
8、for(i = 0 ; i 25 ; i+) fscanf(rf, %s, a) ;, 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。 请勿改动主函数main()和输出数据函数readwriteDat()的内容。void readwriteDa
9、t();int isP(int m)m; if(m % i=0)return 0; return 1;void num(int m,int k,int xx)int i,p,r;i=0; while(ictype.h#define N 81void chg(char *s)int i,j,k; char b81; strcpy(b,s); i=strlen(b);i; if(bj=97&bj=65&90) bj=bj+1; else if(bj=122) bj=97; else if(bj=90) bj=65; strcpy(s,b); char aN;Enter a string:The o
10、riginal string is;puts(a); chg(a);The string after modified: puts(a);,a);%sn38_ 请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out.dat中。 例如若n为1000时,函数值应为:s=153.909064。 请勿改动主函数main()和输入输出数据函数progReadWrite()的内容。math.hdouble countValue(int n)int i,sum; double s; i=1;sum=0;n
11、) if(i%3=0)&(i%7=0) i+; s=sqrt(sum); if (s0) s=-s; return s;自然数之和的平方根=%fn,countValue(1000); progReadWrite();progReadWrite() FILE *fp,*wf; int i,n; float s; if(fp=NULL)数据文件in.dat不存在! return; fscanf(fp, s=countValue(n);%fn,s);fclose(fp);fclose(wf);46_ 计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即
12、第1个素数-第2个素数+第3个素数-第4个素数+第5个素数.的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT11.DAT中。 部分源程序已给出。 int i,j,a300,tmp; for(i=500;=800; for(j=2; if(i%j = 0) j=i+1; if(j=i) acnt=i; cnt+;cnt-1; for(j=i+1;cnt; if(aiaj) tmp=ai; ai=aj; aj=tmp; if(i%2!=0) ai=-ai; sum=sum+ai;素数的个数=%dn按要求计算的值=%dnOUT11.DAT48_ 选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OUT13.DAT中。 部分源程序存在文件prog1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1