300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx

上传人:b****3 文档编号:7728149 上传时间:2023-05-09 格式:DOCX 页数:42 大小:22.29KB
下载 相关 举报
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第1页
第1页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第2页
第2页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第3页
第3页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第4页
第4页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第5页
第5页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第6页
第6页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第7页
第7页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第8页
第8页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第9页
第9页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第10页
第10页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第11页
第11页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第12页
第12页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第13页
第13页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第14页
第14页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第15页
第15页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第16页
第16页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第17页
第17页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第18页
第18页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第19页
第19页 / 共42页
300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx

《300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx》由会员分享,可在线阅读,更多相关《300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx(42页珍藏版)》请在冰点文库上搜索。

300数位分解按数位筛选《计算机等级考试上机体分类2》Word下载.docx

out.dat"

w"

for(i=0;

i<

10;

i++)

{fscanf(fp,"

%d,"

&

n);

s=(float)countValue(n);

fprintf(wf,"

%f\n"

s);

fclose(fp);

fclose(wf);

main()

{printf("

1000以内符合条件的自然数之和的平方根=%f\n"

CountValue(1000));

progReadWrite();

doublecountValue(intn)

{doublexy=0.0;

inti;

for(i=1;

n;

if(i%3==0&

&

i%7==0)

xy+=i;

xy=sqrt((double)xy);

returnxy;

9已知在文件IN.dat中存有N个(N<

200)实数,函数RData()读取这N个实数并存入数组original中。

请编写函数CalValue(),要求实现的功能有:

①求出这N个实数的平均值(aver);

②分别求出这N个实数的整数部分之和(sumint)以及小数部分之和(sumdec),最后调用函数WData()把所求的结果输出到文件OUT.dat中。

部分源程序已给出。

请勿改动主函数main()、读数据函数RData()和输出数据函数WData()的内容。

#defineMAXNUM200

floatoriginal[MAXNUM];

doubleaver=0.0;

longsumint=0;

doublesumdec=0.0;

intRData(void);

voidWData(void);

voidCalValue(void)

voidmain()

{inti;

MAXNUM;

original[i]=0;

if(RData())

数据文件IN.dat不能打开!

\007\n"

CalValue();

printf("

平均值=%.2lf\n"

aver);

整数部分之和=%ld\n"

sumint);

小数部分之和=%.2lf\n"

sumdec);

WData();

intRData(void)

{FILE*fp;

inti=0;

if((fp=fopen("

IN.dat"

))==NULL)

return1;

while(!

feof(fp))

fscanf(fp,"

%f,"

original[i++]);

return0;

voidWData(void)

OUT.dat"

fprintf(fp,"

%.2lf\n%ld\n%.2lf\n"

aver,sumint,sumdec);

doublex,sum=0;

{sumint=sumint+(int)original[i];

x=original[i]-(int)original[i];

sumdec=sumdec+x;

sum=sum+original[i];

aver=sum/MAXNUM;

10已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数primeNum(),其功能是:

求出所有这些四位数中素数的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。

最后调用写函数Wdata(),把结果输出到OUT.dat文件中。

例如,5591是素数,则该数满足条件存入数组b中,且个数count=count+1。

9812是非素数,则该数不满足条件,不存入数组b中,count值也不加1。

部分源程序已经给出。

程序中已定义数组a[300]、b[300],已定义变量count。

请勿改动主函数main()、读函数Rdata()和写函数Wdata()的内容。

inta[300],b[300],count=0;

intisP(intm)

for(i=2;

m;

if(m%i==0)

return0;

return1;

voidprimeNum()

voidRdata()

300;

a[i]);

voidWdata()

%d\n"

count);

count;

fprintf(fp,"

b[i]);

Rdata();

primeNum();

Wdata();

count=%d\n"

printf("

b[%d]=%d\n"

i,b[i]);

{intj,i,value;

if(isP(a[i]))

{b[count]=a[i];

count++;

}

count-1;

for(j=i+1;

j<

j++)

if(b[i]>

b[j])

{value=b[i];

b[i]=b[j];

b[j]=value;

}

 

14请编写函数countValue(),它的功能是:

求出1~1000之内能被7或11整除但不能同时被7或11整除的所有整数,将它们放在数组a中,并通过n返回这些数的个数。

主函数最后调用函数Wdata()把计算结果输出到OUT.dat中。

请勿改动主函数main()和输出数据函数Wdata()的内容。

voidcountValue(int*a,int*n)

{intaa[1000],n,k;

FILE*fp;

countValue(aa,&

for(k=0;

k<

k++)

if((k+1)%10==0)

fprintf(fp,"

%5d\n"

aa[k]);

else

%5d"

\n"

printf("

*n=0;

=1000;

if(i%7==0&

i%11)

{*a=i;

*n=*n+1;

a++;

elseif(i%7&

i%11==0)

17请补充程序,使得程序能实现以下功能:

从文件IN.dat中读取200个整数至数组number中,求出奇数的个数cnt1和偶数的个数cnt2以及数组number下标为偶数的元素值的算术平均值ave(保留2位小数)。

把结果cnt1、cnt2、ave输出到OUT.dat中。

部分程序、读数据函数read_dat(intnumber[200])及输出格式已给出。

#defineN200

voidread_dat(intnumber[N])

{inti,j;

20;

{for(j=0;

{fscanf(fp,"

number[i*10+j]);

%d"

number[i*10+j]);

intcnt1,cnt2,number[N];

longj=0;

floatave;

FILE*fw;

fw=fopen("

read_dat(number);

/**************************************/

\n\ncnt1=%d,cnt2=%d,ave=%6.2f\n"

cnt1,cnt2,ave);

fprintf(fw,"

%d\n%d\n%6.2f\n"

fclose(fw);

for(i=0,j=0,cnt1=0,cnt2=0;

N;

{if(number[i]%2)

cnt1++;

else

cnt2++;

if(i%2==0)

j+=number[i];

ave=(float)j/(N/2);

19已知数据文件IN.dat中存有200个四位数,并已调用读函数rdata()把这些数存入数组a中,请编写函数evenvalue(),其功能是:

如果四位数每位上的数字均是0、2、4、6或8,则统计出满足此条件的四位数的个数count,并把这些四位数按从大到小的顺序存入数组b中。

最后main()函数调用写函数wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

程序中已定义数组a[200],b[200];

已定义变量count。

请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数rdata()和写函数wdata()中的内容。

#defineMAX200

inta[MAX],b[MAX],count=0;

voidevenvalue()

voidrdata()

MAX;

voidwdata()

rdata();

evenvalue();

满足条件的数=%d\n"

wdata();

{intbb[4];

inti,j,k,flag;

200;

{bb[0]=a[i]/1000;

bb[1]=a[i]%1000/100;

bb[2]=a[i]%100/10;

bb[3]=a[i]%10;

for(j=0;

4;

{if(bb[j]%2==0)

{flag=1;

else

{flag=0;

break;

if(flag==1)

if(b[i]<

{k=b[i];

b[j]=k;

24已知数据文件IN.dat中存有200个四位数,并已调用读函数RData()把这些数存入数组a中,请编写函数evenVal(),其功能是:

若一个四位数的千位上的数字值小于等于百位上的数字值,百位上的数字值小于等于十位上的数字值,以及十位上的数字值小于等于个位上的数字值,并且该四位数是偶数,则统计出满足此条件的个数count,并把这些四位数按从小到大的顺序存入数组b中。

最后调用写函数WData(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

程序中已定义数组a[200],、b[200],已定义变量count。

请勿改动数据文件IN.dat中的任何数据及主函数main()、读函数RData()和写函数WData()的内容。

voidevenVal()

voidRData()

voidWData()

RData();

evenVal();

inta1,a2,a3,a4,k;

{a1=a[i]/1000;

a2=a[i]%1000/100;

a3=a[i]%100/10;

a4=a[i]%10;

if((a1<

=a2)&

(a2<

=a3)&

(a3<

=a4)&

(a[i]%2==0))

25下列程序的功能是:

在三位整数(100~999)中寻找符合条件的整数并依次从小到大存入数组中;

该整数既是完全平方数,又有两个数字相同,例如144、676等。

请编写函数SearchVal()实现此功能,满足该条件的整数的个数通过所编写的函数返回。

最后调用函数WData(),把结果输出到文件OUT.dat中。

请勿改动主函数main()和写函数WData()的内容。

SearchVal(intbb[])

voidWData(intnum,intb[])

{FILE*out;

out=fopen("

num);

fprintf(out,"

num;

fprintf(out,"

fclose(out);

{intb[20],num;

num=SearchVal(b);

WData(num,b);

searchVal(intbb[])

{inti,a,b,c,cnt=0;

for(i=10;

i*i<

1000;

{a=i*i/100;

b=i*i/10%10;

c=i*i%10;

if(a==b||b==c||c==a)

bb[cnt++]=i*i;

returncnt;

26已知数据文件IN.dat中存有300个四位数,并已调用读函数RData()把这些数存入数组a中,请编写函数jsValue(),其功能是:

求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于0的数的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。

最后调用写函数WData(),把结果输出到OUT.dat文件中。

例如,9123,9-1-2-3>

0,则该数满足条件存入数组b中,且个数count=count+1。

9812,9-8-1-2<

0,则该数不满足条件,忽略。

程序中已定义数组a[300],b[300];

请勿改动主函数main()、读函数RData()和写函数WData()的内容。

voidjsValue()

jsValue();

{inti,thou,hun,ten,data,j;

{thou=a[i]/1000;

hun=a[i]%1000/100;

ten=a[i]%100/10;

data=a[i]%10;

if(thou-hun-ten-data>

0)

{data=

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2