二级C语言往年试题.docx

上传人:b****4 文档编号:27212399 上传时间:2023-06-28 格式:DOCX 页数:20 大小:19.59KB
下载 相关 举报
二级C语言往年试题.docx_第1页
第1页 / 共20页
二级C语言往年试题.docx_第2页
第2页 / 共20页
二级C语言往年试题.docx_第3页
第3页 / 共20页
二级C语言往年试题.docx_第4页
第4页 / 共20页
二级C语言往年试题.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

二级C语言往年试题.docx

《二级C语言往年试题.docx》由会员分享,可在线阅读,更多相关《二级C语言往年试题.docx(20页珍藏版)》请在冰豆网上搜索。

二级C语言往年试题.docx

二级C语言往年试题

【121105001·Design1】设计编写并运行程序,完成以下功能:

z=f(x,y)=10*cos(x-4)+5*sin(y-2),x,y取值为区间[0,10]的整数,找出使z取最小值的x1,y1,并将x1,y以格式”%d,%d”写入到考生文件夹中Paper子文件夹下的新建文件Design.dat。

(frequency:

3)

#include

#include

voidmain()

{

FILE*p;

intx,y,x1,y1;floatz,z1;

z1=10*cos(0-4)+5*sin(0-2);

for(x=0;x<=10;x++)

for(y=0;y<=10;y++)

if((z=10*cos(x-4)+5*sin(y-2))

{

z1=z;

x1=x;

y1=y;

}

p=fopen("design1.dat","w");

fprintf(p,"%d,%d",x1,y1);

fclose(p);

}

 

【121105001·Design2】设计编写并运行程序,完成以下功能:

计算字符串s中的每个字符的权重值,所谓权重值就是字符在字符串中的位置值与该字符的ASCII码值的乘积。

位置只从1开始依此递增。

将每个字符的权重值,以格式”%d”写入到考生文件夹中paper子文件夹下的新建文件Design2.dat。

(frequency:

2)

#include

#include

voidmain()

{

FILE*p;inti,w;

char*s="we45*&y3r#$1";

p=fopen("design1.dat","w");

i=1;

while(*s!

='\0')

{

w=*s*i;

fprintf(p,"%d",w);

s++;

i++;

}

fclose(p);

}

 

【121105002·Design1】数列第一项为81,此后各项均为它前一项的正平方根,统计该数列前30项之和后,并以格式"%.3f"写入到考生文件夹下的新建文件Designl.dat。

(frequency:

3)

#include

#include

voidmain()

{

FILE*p;floats=0,a=81;inti;

for(i=1;i<=30;i++)

{

s=s+a;

a=sqrt(a);

}

p=fopen("Design1.dat","w");

fprintf(p,"%.3f",a);

fclose(p);

}

 

【121105002·Design2】数组元素x[I],y[I]表示平面上某点坐标,统计10个点中处在圆(方程为:

(x-1)*{x-1}+{y+0.5}*{y+0.5}=25)内的点数k,并将变量k的值以格式"%d"写入到考生文件夹下新建文件Design2.dat。

(frequency:

3)

#include

#include

voidmain()

{FILE*p;inti,k=0;

floatx[]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};

floaty[]={-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33};

for(i=0;i<10;i++)

if((x[i]-1)*(x[i]-1)+(y[i]+0.5)*(y[i]+0.5)<25)

k++;

p=fopen("Design2.dat","w");

fprintf(p,"%d",k);

fclose(p);

}

 

【121105004·Design1】计算多项式a0-a1*x+a2*x*x/2!

-a3*x*x*x/3!

+…-a9*x*x*x*x*x*x*

x*x*x/9!

的值,并将结果一格式"%f"写入到考生文件夹中Paper子文件夹下的新建文件Des

ign1.dat。

(frequency:

2)

#include

#include

voidmain()

{FILE*p;inti;floatx=1.279,t,y;

floata[10]={1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65};

y=0.0;

t=1;

for(i=0;i<10;i++)

{

y=y+a[i]*t;

t=(-t)*x/(i+1);

}

p=fopen("Design1.dat","w");

fprintf(p,"%f",y);

fclose(p);

}

【121105004·Design2】求斐波那挈数列中其前40项之和,并将求和的结果以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。

斐波那挈数列的第一项和第二项是1,以后各项是前两项之和,如:

11235813………。

(frequency:

2)

#include

voidmain()

{

FILE*p;longs=0,i,a[40];

a[0]=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("Design2.dat","w");

fprintf(p,"%d",s);

fclose(p);

}

 

【121105005·Design1】程序功能:

累加a字符串中各个字符的ASCII码值,然后将累加和以格式"%d"写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。

#include

voidmain()

{FILE*p;ints=0,i=0;

char*a="r235%^%34cdDW,.";

while(a[i]!

='\0')

{

s=s+a[i];

i++;

}

p=fopen("Design1.dat","w");

fprintf(p,"%d",s);

fclose(p);

}

【121105005·Design2】程序功能:

在数组x的10个数中求平均值v,找出与v相差最小的数组元素并将其以格式"%.5f"写入考生文件夹Paper子文件夹下的新建文件Design2.dat。

#include

#include

voidmain()

{FILE*p;inti,k=0;

floatx[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(k=1;k<10;k++)

if(fabs(x[k]-v)

p=fopen("Design2.dat","w");

fprintf(p,"%.5f",d);

fclose(p);

}

【121105006·Design2】计算表达式1+2!

+3!

……+12!

的值,并将计算结果以格式"%ld"写入到考生文件夹中paper子文件夹下的新建文件Design2.dat。

#include

voidmain()

{FILE*p;

longs=1,k=1;

inti;

for(i=2;i<=12;i++)

{

k=k*i;

s=s+k;

}

p=fopen("design1.dat","w");

fprintf(p,"%ld",s);

fclose(p);

}

 

【121105008·Design1】已知公鸡每只5元,母鸡每只3元,小鸡1元3只。

求出用100元买100只鸡的解。

求得到的解按公鸡、母鸡和小鸡的只数以"%d,%d,%d\n"的格式写入到考生文件夹中Paper子文件下的新建文件Design1.dat。

(frequency:

3)

#include

voidmain()

{FILE*p;

intcock,hen,chick;

p=fopen("Design1.dat","w")

for(cock=0;cock<=19;cock++)

for(hen=0;hen<=33;hen++)

if((chick=100-cock-hen)%3==0)

if(cock*5+hen*3+chick/3==100)

fprintf(p,"%d,%d,%d\n",cock,hen,chick);

fclose(p);

}

 

【121105010·Design1】设计编写并运行程序,完成以下功能:

某公司1999年年产量11。

5万件,生产能力每年提高9。

8%,求出产量能超过x万件的年份,结果有函数Year返回,分别计算当x=20和x=30时的结果,将计算结果写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。

(frequency:

2)

#include

intYear(intx)

{

intp=11.5,y=1999;

while(p

{

p=p*(1+0.098);

y++;

}

returny;

}

voidmain()

{

 

voidmain()

{

FILE*p;

p=fopen("design.dat","w");

fprintf(p,"%d,%d",Year(20),Year(30));

fclose(p);

}

【121105010·Design2】设计编写并运行程序,完成以下功能:

利用公式ㄦ/4=1-1/3+1/5-1/7

+……..公式计算的近似值,直到某一项的绝对值小于1e-6为止。

(将结果不包含此项)将计算结果以格式写入到考生文件夹中Paper子文件夹下的新建Design2.dat。

#include

#include

voidmain()

{

FILE*fp;

floatn=1,t=1,pi=0;

inti;

do

{

pi=pi+t/n;

t=-t;

n+=2;

}while(fabs(t/n)>=1e-6);

fp=fopen("Desing2.dat","w");

fprintf(fp,"%f",4*pi);

fclose(fp);

}

 

【121105011·Design1】完成以下功能:

在整数数组a中找出偶数放到b数组中,对b数组按从小到大的顺序进行排序后以格式"%3d"每行3个数写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。

(frequency:

2)

#include

voidmain()

{FILE*p;

inti,j,temp,n=0;

inta[10]={7,6,20,3,14,88,53,62,10,29},b[10];

for(i=j=0;i<10;i++)

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

{

b[j]=a[i];

j++;

}

n=j;

for(i=1;i<=n-1;i++)

for(j=i;j<=n-i;j++)

if(b[j-1]>b[j])

{

temp=b[j-1];

b[j-1]=b[j];

b[j]=temp;

}

p=fopen("design1.dat","w");

for(i=0;i

{

fprintf(p,"%3d",b[i]);

if((i+1)%3==0)fprintf(p,"\n");

}

fclose(p);

}

 

【121105012·Design1】设计编写并运行程序,并完成以下功能:

统计满足条件x*x+y*y+z*z==2000的所有解的个数,(注意:

若a、b、c为1个解,则a、c、b也是1个解,等等)。

并将统计结果以格式"%d"写入到考生文件夹中Paper子文件下的新建文件Design1.dat。

(frequency:

2)

#include

voidmain()

{FILE*p;intx,y,z,k=0;

for(x=-44;x<=44;x++)

for(y=-44;y<=44;y++)

for(z=-44;z<=44;z++)

if(x*x+y*y+z*z==2000)k++;

p=fopen("design2.dat","w");

fprintf(p,"%d",k);

fclose(p);

}

 

【121105012·Design2】设计编写并运行程序,并完成以下功能:

将字符串s中所有字符按ASCII值从小到大重新排序后,将排序后的字符串写入到考生文件夹中Paper子文件下的新建文件Design2.dat。

(frequency:

2)

#include

#include

voidmain()

{FILE*p;char*s="634,.%@\\w|SQ2",c;

inti,j,k,n=strlen(s);

for(i=1;i<=n-1;i++)

for(j=i;j<=n-i;j++)

if(s[j-1]>s[j])

{

c=s[j-1];

s[j-1]=s[j];

s[j]=c;

}

p=fopen("Design2.dat","w");

for(i=0;i

fclose(p);

}

【121105014·Design1】功能:

计算500~800区间内素数的个数cnt和素数和sum。

请编写函数JSValue()实现程序的要求。

最后把cnt和sum得值写入到考生文件夹中Paper子文件夹Design1.dat。

(frequency:

3)

#include

intcnt,sum;

voidJSValue()

{

inti,j,half;

sum=0;

cnt=0;

for(i=500;i<=800;i++)

{

half=i/2;

for(j=2;j<=half;j++)

if(i%j==0)break;

if(j>half)

{

sum=sum+i;

cnt++;

}

}

}

voidmain()

{

FILE*p;

p=fopen("design.dat","w");

JSValue();

fprintf(p,"%d,%d",cnt,sum);

fclose(p);

}

【121105014·Design2】有数列:

2/1,3/2,5/3,8/5,13/8,21/13,.......求出数列的前40项的和。

将计算结果以格式"%.6f"写入到考生文件夹中Paper子文件夹下的新文件夹Design2.dat。

#include

voidmain()

{

FILE*p;

inti;

floatf1=1.0,f2=2.0,t1=2.0,t2=3.0,s;

floatf,t;

s=t1/f1+t2/f2;

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

{

t=f2+t2;

f=t2;

t2=t;

f2=f;

s=s+t2/f2;

}

p=fopen("design2.dat","w");

fprintf(p,"%.6f",s);

fclose(p);

}

 

【121105015·Design1】寻找并输出11至999之间的数m,它满足m,m*m,m*m*m均为回文数。

说明:

所谓回文数是指各位数字左右对称,例如121,676,94249等。

满足上述条件的数如m=11,m2=121,m3=1331皆为回文数。

(frequency:

4)

#include

#include

#include

intJSValue(longm)

{

longm1=m;

longn=0;

while(m1)

{

n=10*n+m1%10;

m1=m1/10;

}

returnn==m;

}

voidmain()

{

FILE*p;longm;

p=fopen("design.dat","w");

for(m=11;m<1000;m++)

{

if(JSValue(m)&&JSValue(m*m)&&JSValue(m*m*m))

fprintf(p,"%ld",m);

}

fclose(p);

}

【121105017·Design1】程序功能是:

将数组a的每1行均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],……),然后将a数组写入到考生文件夹中Paper子文件夹下的新建文件Design1.dat。

(frequency:

2)

#include

voidmain()

{floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};

FILE*p;

inti,j;

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

for(j=2;j>=0;j--)

a[i][j]=a[i][j]/a[i][i];

p=fopen("Design1.dat","w");

for(inti=0;i<3;i++){

for(intj=0;j<3;j++)fprintf(p,"%10.6f",a[i][j]);

fprintf(p,"\n");

}

fclose(p);

}

【121105022·Design2】x[i],y[i]分别表示平面上1个点的x,y坐标。

求下列5点各点间距离总和,并将该数以格式"%.4f"写入到考生文件夹中Paper子文件夹下的新建文件Design2.dat。

#include

#include

voidmain()

{FILE*p;floats,x[5]={-1.5,2.1,6.3,3.2,-0.7};

floaty[5]={7,5.1,3.2,4.5,7.6};inti,j;

s=0.0;

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

for(j=i+1;j<=4;j++)

s=s+sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));

p=fopen("Design2.dat","w");

fprintf(p,"%.4f",s);

fclose(p);

}

【121105023·Design1】在数组a的10个数中求平均值v,将大于等于v的数组元素进行求和,并将结果以格式"%.5f"写入到考生文件夹中paper子文件夹下的新建文件Design1.dat。

(frequency:

2)

#include

voidmain()

{

inti;

floata[10]={7.23,1.5,5.24,2.1,2.45,6.3,5,3.2,0.7,9.81},sum,v=0;

sum=0.0;

for(i=0;i<10;i++)

sum=sum+a[i];

v=sum/10;

sum=0.0;

for(i=0;i<10;i++)

if(a[i]>=v)sum=sum+a[i];

p=fopen("Design1.dat","w");

fprintf(p,"%.5f",sum);

fclose(p);

}

【121105028·Design1】x[i],y[i]分别表示平面上一点的坐标,求下列10个点与点(1.0,1.0)的距离的总和,并将结果以格式"%.6f"写入到考生文件夹中paper子文件夹下的新建文件design1.dat。

#include

#include

voidmain()

{

FILE*p;

inti;

floatx[10]={-1.5,2.1,6.3,3.2,-0.7,7.0,5.1,3.2,4.5,7.6};

floaty[10]={3.5,7.6,8.1,4.5,6.0,1.1,1.2,2.1,3.3,4.4};

floats=0.0;

for(i=0;i<10;i++)

s+=sqrt((x[i]-1.0)*(x[i]-1.0)+(y[i]-1.0)*(y[i]-1.0));

p=fopen("Design1.dat","w");

fprintf(p,"%.6",s);

fclose(p);

}

【121105330·Design1】设计编写程序并运行,完成以下功能:

将数组a的每1行均除以该行上绝对值最大的元素,然后将a数组写入到考生文件夹中paper子文件夹下的新建文件Design1.dat。

#include

#include

voidmain()

{floata[3][3]={{1.3,2.7,3.6},{2,3,4.7},{3,4,1.27}};

FILE*p;floatx;inti,j;

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

{

x=fabs(a[i][0]);

for(j=1;j<3;j++)

if(fabs(a[i][j])>x)x=fabs(a[i][j]);

for(j=0;j<3;j++)

a[i][j]=a[i][j]/x;

}

p=fopen("design.dat","w");

for(i=0;i<3;i++){

for(j=0;j<3;j++)fprintf(p,"%10.6f",a[i][j]);

fprintf(p,"\n");

}

fclose(p);

}

【121105330·Design2】若a,b为1对亲密数,则a的因子和等于b,b的因子和等于a,且a不等于b。

如:

220,284是1对亲密数,284,220也是一对亲密数。

在6至5000内找出所有的亲密数对,并将每对亲密数用语句fprintf(p,"%6d,%6d\n",a,b)写入到考生文件夹中paper子文件夹下的新建文件D

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1