怎么编写程序???????
43、请编写函数countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整数的 所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out。dat中。 例如若n为1000时,函数值应为:s=153。 909064。 部分源程序已给出。 请勿改动主函数main()和输入输出数据函数progreadwrite()的内容。 #include #include #include double countvalue(int n) { } main() { clrscr(); printf("s=%f
",countvalue(1000)); ...全部
43、请编写函数countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整数的 所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件out。dat中。 例如若n为1000时,函数值应为:s=153。
909064。 部分源程序已给出。 请勿改动主函数main()和输入输出数据函数progreadwrite()的内容。 #include #include #include double countvalue(int n) { } main() { clrscr(); printf("s=%f
",countvalue(1000)); progreadwrite(); } progreadwrite() { FILE *fp,*wf; int i,n; float s; fp=fopen("in。
dat","r"); if(fp==NULL) {printf("Can't open the data file in。dat 07
"); return; } wf=fopen("out。
dat","w"); for(i=0;imax) max=abs(xx[i]); for(i=0;i0) totnum ; data=xx[i]>>1; if(data%2) {totcnt ; totpjz =xx[i]; } } totpjz/=totcnt; } 46、请编制程序,从文件in。
dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶 数的个数cnt2以及数级xx下标为奇数的元素值的算术平均值pj(保留2位小数)。 结果cnt1,cnt2,pj输出到out。
dat中。 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 #include #include #define N 200 void read_dat(int xx[N]) { int i,j; FILE *fp; fp=fopen("in。
dat","r"); for(i=0;i0) totnum ; if((xx[i]/1000 xx[i]/100 xx[i]/10 xx[i])/2==0) {totcnt ; totpjz =xx[i]; } } totpjz/=totcnt; } 48、请编制程序,从文件in。
dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶 数的个数cnt2以及数级xx值为奇数的元素值的算术平均值pj(保留2位小数)。 结果cnt1,cnt2,pj输出到out。
dat中。 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 #include #include #define N 200 void read_dat(int xx[N]) { int i,j; FILE *fp; fp=fopen("in。
dat","r"); for(i=0;i0) totnum ; if((xx[i]/1000 xx[i]/100 xx[i]/10 xx[i])/2==1) {totcnt ; totpjz =xx[i]; } } totpjz/=totcnt; } 50、请编制程序,从文件in。
dat中读取200个整数至数组xx中,不计数组xx最大的数(若 有重复值,则都不计),再求出最大数max及最大数的个数cnt和所剩下200-cnt个数的算 求平均值pj (保留2位小数)。
结果max,cnt1,min,cnt2,pj输出到out。dat中。 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 #include #include #define N 200 void read_dat(int xx[N]) { int i,j; FILE *fp; fp=fopen("in。
dat","r"); for(i=0;ixx[i]&&max for(i=0;i=500;i--) {for(j=2;j=i) {cnt ; sum =k*i; k=-1*k; } } } 52、请编制程序,从文件in。
dat中读取200个整数至数组xx中,不计数组xx最小的数(若 有重复值,则都不计),再求出最小数min及最小数cnt和所剩下200-cnt个数的算求平均 值pj (保留2位小数)。 结果min,cnt,pj输出到out。
dat中。 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 #include #include #define N 200 void read_dat(int xx[N]) { int i,j; FILE *fp; fp=fopen("in。
dat","r"); for(i=0;ixx) min0=xx[i]; else min=xx[i]; for(i=0;ixx[i]) min=xx[i]; for(i=0;iif(xx[i]==min) cnt ; else pj =xx[i]; pj=(float)((int)pj*100/(200-cnt))/100; printf("
min=%d,cnt=%d,pj=%6。
2f
",min,cnt,pj); fprintf(fw,"%d
%d
%6。2f
",min,cnt,pj); fclose(fw); } 53、下列程序的功能是:先出5000以下符合条件的自然数。
条件是:千位数字与百位数 字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位 数字之差的确10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写 函数countvalue(0实现程序的要求,最后调用小孩子数writedat()把结果cnt和sum,输 出到文件out13。
dat中。 #include int cnt,sum; void countValue() { } void main() { cnt=sum=0; countValue(); printf("cnt=%d
",cnt); printf("sum=%d
",sum); writeDAT(); } writeDAT() { FILE *fp; fp=fopen("OUT13。
DAT","w"); fprintf(fp, "%d
%d
",cnt,sum); fclose(fp); } /* 注:该题的关键亦是如何取出各位数字。*/ void countValue() { int i; for(i=1000;iif((i/1000 i/100)==(i/10 i)) if((i/1000 i/100)==(i-i/1000)*10) {cnt ; sum =i; } } 54、请编制程序,从文件in。
dat中读取200个整数至数组xx中,求出奇数的个数cnt1和偶 数的个数cnt2以及数级xx值为偶数的元素值的算术平均值pj(保留2位小数)。 结果cnt1,cnt2,pj输出到out。
dat中。 部分程序、读数据函数read_dat(int xx[200])及输出格式已给出。 #include #include #define N 200 void read_dat(int xx[N]) { int i,j; FILE *fp; fp=fopen("in。
dat","r"); for(i=0;i{for(j=0;j{fscanf(fp,"%d,",&xx[i*10 j]); printf("%d ",xx[i*10 j]); } printf("
"); } fclose(fp); } void main() { int cnt1,cnt2,xx[N]; float pj; FILE *fw; clrscr(); fw=fopen("out。
dat","w"); read_dat(xx); printf("
cnt1=%d,cnt2=%d,pj=%6。2f
",cnt1,cnt2,pj); fprintf(fw,"%d
%d
%6。
2f
",cnt1,cnt2,pj); fclose(fw); } /* 注:已是很简单了吧!*/ void main() { int cnt1,cnt2,xx[N]; float pj; FILE *fw; int i; clrscr(); fw=fopen("out。
dat","w"); read_dat(xx); cnt1=cnt2=0; pj=0。0; for(i=0;iif(xx[i]%2) cnt1 ; else {cnt2 ;pj =xx[i];} pj=(float)((long)(pj*100/cnt2))/100; printf("
cnt1=%d,cnt2=%d,pj=%6。
2f
",cnt1,cnt2,pj); fprintf(fw,"%d
%d
%6。2f
",cnt1,cnt2,pj); fclose(fw); } 55、下列程序的功能是:计算出自然数SIX和NINE,它们满足的条件是SIX SIX SIX=NIN E NINE的个数cnt,以及满足此条件所有的SIX与NINE的和SUM。
请编写函数countvalue( )实现程序的要求,最后调用函数writedat()把结果cnt和sum,输出到文件out15。dat中 。 其中S,I,X,N,E各代表一个十进制数字。
#include long cnt,sum; void countValue() { } void main() { cnt=sum=0; countValue(); printf("cnt=%d
",cnt); printf("sum=%ld
",sum); writeDAT(); } writeDAT() { FILE *fp; fp=fopen("OUT11。
DAT","w"); fprintf(fp, "%d
%d
",cnt,sum); fclose(fp); } /* 注:由于有SIX SIX SIX=NINE NINE可看出SIX的3倍必须大于等于2000(右边是一个 四位数字的数可知),因此从666开始循环,再由三个数的和是个偶数(右边为一个数的 2倍可知)可循环时步长为2。
再由SIX和NINE中有一个共同数字I所以得出第一个if()判 断,还有NINE中有一共同数字N所以得出第二个if()判断。*/ void countValue() { int i; printf("
"); for(i=666;iif(i/10==(3*i/2)/100) {cnt ; sum =i 3*i/2; } } _________________________________ 本人只是为了上机能通过,不追求什么算法速度,答案仅供大家参考,我9号长春上机。
(tonggu) void countValue() { int i; cnt=0; sum=0; for(i=1000;iif(i/1000==i/10 && i/3*3==i) { cnt ; sum =i*4; } }。
收起