计算机三级100上机题(7)

2019-04-08 21:14

薄观约取 厚积薄发 断点-影子

for(i=1;i

if(i!==0) s+=i; return sqrt(s); }

main() {

clrscr();

printf(\自然数之和的平方根=%f\\n\progReadWrite(); }

progReadWrite() {

FILE *fp,*wf; int i,n; float s;

fp=fopen(\if(fp==NULL){

printf(\数据文件in.dat不存在!\ return; }

wf=fopen(\for(i=0;i<10;i++){

fscanf(fp,\ s=countValue(n);

fprintf(wf,\}

fclose(fp); fclose(wf); }

********************************************************************* 题目23 (实数运算题)

已知在文件in.dat中存有N个(个数<200)实数,函数readdat()读取这N个实数并存入数组xx中。请编制函数calvalue(),其功能要求: 1、求出这N个实数的平均值aver;

2、分别求出这N个实数的整数部分之和sumint以及小数部分之和sumdec,最后调用函数writedat()把所求的结果输出到文件out.dat中。 注意:部分源程序已给出。 请勿改动主函数main()、读数据函数readdat()和输出数据函数writedat()的内容。

#include #include #define MAXNUM 200 float xx[MAXNUM] ;

int N= 0 ; /* 文件IN.DAT中共有多少个实数 */

断点亡魂

薄观约取 厚积薄发 断点-影子

double aver=0.0;/*平均值*/

double sumint=0.0;/*整数部分之和*/ double sumdec=0.0;/*小数部分之和*/ int ReadDat(void) ; void WriteDat(void) ; void CalValue(void) { int i;

double x, sum = 0;

for (i=0; i

sumint = sumint+(int)xx[i]; x = xx[i]-(int)xx[i]; sumdec = sumdec+x; sum = sum+xx[i]; }

aver = sum/MAXNUM; }

void main() { int i ; clrscr() ;

for(i = 0 ; i < MAXNUM ; i++) xx[i] = 0 ; if(ReadDat()) {

printf(\数据文件IN.DAT不能打开!\\007\\n\ return ; }

Calvalue() ;

printf(\文件IN.DAT中共有实数=%d个\\n\printf(\平均值=%.2lf\\n\

printf(\整数部分之和=%.2lf\\n\printf(\小数部分之和=%.2lf\\n\WriteDat() ;

system(\}

int ReadDat(void) {

FILE *fp ; int i = 0 ;

if((fp = fopen(\while(!feof(fp)) {

fscanf(fp, \}

fclose(fp) ; return 0 ; }

断点亡魂

薄观约取 厚积薄发 断点-影子

void WriteDat(void) {

FILE *fp ;

fp = fopen(\

fprintf(fp, \fclose(fp) ; }

****************************************************************************

题目24(完全平方数问题)

下列程序prog1.c的功能是:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。

请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。 最后调用函数writeDat()把结果输出到文件out.dat中。 请勿改动主函数main()和写函数writeDat()的内容。 #include jsValue(int bb[]) {

int i, a, b, c, cnt = 0; for (i=10; i*i<1000; i++) {

a = i*i/100; b = i*i/10; c = i*i;

if (a==b || b==c || c==a) bb[cnt++] = i*i; }

return cnt; }

void writeDat(int num, int b[]) {

FILE *out; int i;

out = fopen(\ printf(\

fprintf(out, \ for (i=0; i

printf(\

fprintf(out, \ }

fclose(out); }

断点亡魂

薄观约取 厚积薄发 断点-影子

main() {

int b[20], num; num = jsValue(b); writeDat(num, b); }

***************************************************************** ★题目25 (回文数问题)

下列程序的功能是:寻找并输出11至999之间的数m,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。请编制函数int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回0。最后把结果输出到文件out.dat中。 注意:部分源程序已给出。

请勿改动主函数main()的内容。 #include int jsValue(long n) {int i,strl,half; char xy[20];

ltoa(n,xy,10); /*注意这里不能使用itoa()函数,因为n是long 型的*/ strl=strlen(xy); half=strl/2;

for(i=0;i

if(xy[i]!=xy[--strl]) break; if(i>=half) return 1; else return 0; }

main() {long m; FILE *out;

out=fopen(\for(m=11;m<1000;m++)

{ if(jsValue(m)&&jsValue(m*m)&&jsValue(m*m*m))

{ printf(\

fprintf(out,\ } }

fclose(out);

system(\}

或者下面的解法: int jsValue(long n) {long int s=0,k; k=n;

断点亡魂

薄观约取 厚积薄发 断点-影子

while(k)

{ s=s*10+k; k/=10; }

if(s==n) return 1; if(s!=n) return 0; }

输出结果为:

m= 11,m*m= 121,m*m*m= 1331 m= 101,m*m= 10201,m*m*m= 1030301 m= 111,m*m= 12321,m*m*m= 1367631

★☆题目26(整数统计运算题) 已知在文件IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(),其功能要求:1、求出这文件中共有多少个正整数totNum;2、求这些数右移1位后,产生的新数是偶数的数的个数totCnt,以及满足此条件的这些数(右移前的值)的算术平均值totPjz,最后调用函数writeDat()把所求的结果输出到文件OUT.DAT中。 部分源程序存在文件prog1.c中。

请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 #include #include #define MAXNUM 200 int xx[MAXNUM];

int totNum=0; /*文件IN.DAT中共有多少个正整数*/ int totCnt=0; /*符合条件的正整数的个数*/ double totPjz=0.0; /*平均值*/ int ReadDat(void); void writeDat(void); void CalValue(void) {int i,data;

for(i=0;i0)

{ totNum++;

data=xx[i]>>1;

if(data%2==0){totCnt++;totPjz+=xx[i];} }

if(totCnt==0) totPjz=0; else totPjz/=totCnt; }

void main() {

int i; clrscr();

断点亡魂


计算机三级100上机题(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:作文的题材和体裁

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: