C语言二级考试附加程序设计题答案

更新时间:2023-12-08 20:02:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

附加程序设计题

1、在考生文件夹的Paper子文件夹下已有Design1.c文件。 设计编写并运行程序,完成以下功能:累加a字符串中各个字符的ASCII码值,然后将累加和以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include void main()

{ FILE *p; int s=0,i=0;

char *a=\ p=fopen(\ while(*a!='\\0') {s=s+(*a); a++;}

fprintf(p,\fclose(p); }

2、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:有数列:2/1,3/2,5/3,8/5,13/8,21/13,??求出数列的前40项的和。将计算结果以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include void main() {

FILE *p; int i;

float f1=1.0,f2=2.0,t1=2.0,t2=3.0,s; float f,t;

s=t1/f1+t2/f2;

p=fopen(\ for(i=3;i<=40;i++) {f=f1+f2; t=t1+t2; s=s+t/f; f1=f2;f2=f; t1=t2;t2=t; }

fprintf(p,\fclose(p); }

3、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:求斐波那契(Fibonacci)数列中大于t的最小的一个数,结果由函数JSValue返回,

其中斐波那契数列F(n)的定义为: F(0)=0,F(1)=1

F(n)=F(N-1)+F(n-2)

分别计算当t=1000和t=3000时的结果,将计算结果写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat

#include long JSValue(int t) { int a[20],i=1;

a[0]=1;a[1]=1; while(a[i]

i++;

a[i]=a[i-1]+a[i-2]; }

return a[i]; }

void main() {

FILE *p;

p=fopen(\

fprintf(p,\ fclose(p); }

4、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:x[i],y[i]分别表示平面上1个点的x、y坐标。求下列5点各点间距离总和,并将该数以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include #include void main()

{ FILE *p; float s,x[5]={-1.5,2.1,6.3,3.2,-0.7}; float y[5]={7,5.1,3.2,4.5,7.6}; int i,j; s=0;

p=fopen(\ for(i=0;i<5;i++) for(j=0;j<5;j++)

s=s+sqrt(pow(x[i]-x[j],2)+pow(y[i]-y[j],2)); s=s/2;

fprintf(p,\fclose(p); }

5、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:求斐波那契(Fibonacci)数列中其前40项之和,(斐波那契数列的定义为后一项为 前两项之和),并将求和的结果以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include void main()

{ FILE *p; long s=0,i,a[40]; a[0]=1;a[1]=1;s=a[0]+a[1]; for (i=2;i<40;i++)

{a[i]=a[i-1]+a[i-2]; s+=a[i]; }

p=fopen(\ fprintf(p,\ fclose(p); }

6、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:某公司1999年年产量11.5万件,生产能力每年提高9.8%,求出产量能超过x万件的年份,结果由函数Year返回。分别计算当x=20和x=30时的结果,将计算结果写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include int Year(int x) {

double p=11.5;int y=1999; while(p

{ p=p*1.098; y++; }

return y; }

void main() { FILE *p;

p=fopen(\

fprintf(p,\ fclose(p); }

7、在考生文件夹的Paper子文件夹下已有Design1.c文件。 设计编写并运行程序,完成以下功能:计算多项式a0+a1*x+a2*x*x+a3*x*x*x+...+a9*x*x*x*x*x*x*x*x*x的值,并将其值以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include #include void main()

{ FILE *p; int i; float x=1.279,t=1,y=0;

float a[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; y = a[0]; for(i=1; i<10; i++) { t = t*x; y = y+a[i]* t; } p = fopen(\ fprintf(p, \ fclose(p); }

8、在考生文件夹的Paper子文件夹下已有Design1.c文件。 设计编写并运行程序,完成以下功能:将满足条件pow(1.05,n)<1e6 #include void main()

{ float y=1.05; int n=1; FILE *p;

while(!(pow(y,n)<=1e6 && pow(y,n+1)>=1e6)) n++;

P=fopen(“design.dat”,”w”);

fprintf(p,\.0f\ fclose(p); }

9、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:在正整数中找出1个最小的、被3、5、7、9除余数分别为1、3、5、7的数,将该数以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include #include void main() {int i;FILE *p

for(i=3;i<1000;i++)

{ if(i%3==1&&i%5==3&&i%7==5&&i%9==7) break; }

P=fopen(“design1.dat”,”w”); fprintf(p,\fclose(p); }

10、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:利用公式π/4≈1-1/3+1/5-1/7+……公式计算π的近似值,直到某一项的绝对值小于1e-6为止。(π/4的结果不包含此项)将计算结果以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include #include void main() {

FILE *fp;

float n=1,t=1,pi=0; int i; i=1;

while((fabs(n))>1e-6) {pi=pi+n; i+=2; t=-t; n=t/i; }

pi=pi*4;

fp=fopen(“design.dat”,”w”); fprintf(fp,\fclose(p); }

11、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include #include void main()

{ FILE *p; int i,k=0;

float x[10]={7.23,-1.5,5.24,2.1,-12.45,6.3,-5,3.2,-0.7,9.81},d,v=0; for(i=0;i<10;i++) v+=x[i]; v=v/10; d=fabs(x[0]-v); for(i=1;i<10;i++) if(fabs(x[i]-v)

}

p=fopen(\ fprintf(p,\ fclose(p); }

12、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:数组元素x[i]、y[i]表示平面上某点坐标,统计10个点中处在圆(方程为:(x-1)*(x-1)+(y+0.5)*(y+0.5)=25 )内的点数k,并将变量k的值以格式\写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat #include #include void main()

{ FILE *p; int i,k=0;

float x[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65}; float y[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33}; p=fopen(\ for(i=0;i<10;i++)

if((x[i]-1)*(x[i]-1)+(y[i]+0.5)*(y[i]+0.5)<25) k++; fprintf(p,\ fclose(p); }

13、在考生文件夹的Paper子文件夹下已有Design1.c文件。

设计编写并运行程序,完成以下功能:计算500~800区间内素数的个数cnt和素数和sum。请编写函数JSValue()实现程序的要求。最后把cnt和sum的值写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat

#include int cnt,sum; void JSValue() {

int i,j,half; cnt=0; sum=0;

for(i=500;i<=800;i++) { half=i/2; for(j=2;j<=half;j++) if(i%j==0) break; if(j>half) { cnt++; sum = sum+i; } } }

void main() {

FILE *p;

p=fopen(\ JSValue();

fprintf(p,\ fclose(p);

}

14、设计程序:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于

十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt及这些数字的和sum到考生目录中Paper子目录下的新建文件design.dat中。

#include void main() { FILE *p;

int cnt,sum; int i,q,b,s,g; cnt=0,sum=0;

p=fopen(\ for(i=1000;i<5000;i++)

{g=i,s=(i/10),b=(i/100),q=i/1000; if(q+b==s+g&&q+b==fabs(g-q)*10) {cnt++;sum=sum+i; } }

fprintf(p,\

fclose(p); }

}

14、设计程序:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于

十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些四位自然数的个数cnt及这些数字的和sum到考生目录中Paper子目录下的新建文件design.dat中。

#include void main() { FILE *p;

int cnt,sum; int i,q,b,s,g; cnt=0,sum=0;

p=fopen(\ for(i=1000;i<5000;i++)

{g=i,s=(i/10),b=(i/100),q=i/1000; if(q+b==s+g&&q+b==fabs(g-q)*10) {cnt++;sum=sum+i; } }

fprintf(p,\

fclose(p); }

本文来源:https://www.bwwdw.com/article/ydut.html

Top