浙江省计算机等级二级考试 C语言 机考题库Word下载.docx
《浙江省计算机等级二级考试 C语言 机考题库Word下载.docx》由会员分享,可在线阅读,更多相关《浙江省计算机等级二级考试 C语言 机考题库Word下载.docx(8页珍藏版)》请在冰豆网上搜索。
2.表达式求和。
将计算结果以格式“%。
6f”写入到考生文件夹中
#include<
{FILE*fp;
floatn=1,t=1,pi=0;
inti;
i=1;
while(fabs(t)>
=1e-6)
{pi=pi+t;
i=-i;
n=n+2;
t=i/n;
fp=fopen("
"
"
w"
);
fprintf(fp,"
%.6f"
4*pi);
fclose(fp);
}
运行结果:
3.字母后移循环输出。
输入的一个小写字母,将字母循环后移5个位置后输出。
{charc;
c=getchar();
If(c>
='
a'
&
&
c<
'
v'
)
c=c+5;
else
if(c>
z'
)
c=c-21;
putchar(c);
4.求满足条件的数。
{floaty=;
intn=1;
FILE*p;
while(!
(pow(y,n)<
1e6&
pow(y,n+1)>
1e6))
n++;
p=fopen("
fprintf(p,"
%d,%.0f"
n,pow,n));
fclose(p);
283,992137
5.求满足条件的数。
输入整数n(n>
0),求m使得2的m次方小于或等于n,
{intm=0,t=1,n;
while(scanf("
%d"
n),n<
=0);
(t<
=n&
t*2>
=n)){
t=t*2;
m++;
%d\n"
m);
6.求平面点间的最短距离。
数组元素x[i]
#definelen(x1,y1,x2,y2)sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))
{FILE*p;
inti,j;
floatc,minc;
floatx[]={,,,,,,,,,};
floaty[]={-6,,,,,,,,,};
minc=len(x[0],y[0],x[1],y[1]);
p=fopen("
for(i=0;
i<
9;
i++)
for(j=i+1;
j<
10;
j++)
if((c=len(x[i],y[i],x[j],y[j]))<
minc)
minc=c;
%f"
minc);
7.Fibonacci数列求值问题。
数列的第1此后各项值均为该项前二项之和。
longf(intn);
{printf("
%ld\n"
f(30));
longf(intn)
{if(n==1||n==2)
return1;
returnf(n-1)+f(n-2);
832040
8.多项式求和问题。
计算多项式
floatx=,t=1,y=0;
floata[10]={,,,,,,,,,};
y=a[0];
for(i=1;
{t=t*x;
y=y+t*a[i];
y);
9.整数转换为字符串。
用递归法将一个六位整数转换成字符串。
#include<
voiditoa(longi,char*s)
{if(i==0)return;
/******1******/
*s='
1'
+i%10;
.6f.6f.3f10.6f,a[i].y);
&
a[i].y);
n;
if(sqrt(a[i].x*a[i].x+a[i].y*a[i].y)<
=5)
%f,%f\n"
a[i].x,a[i].y);
**试题本身有错误,a=(structaxy*)malloc(n*2*sizeof(float));
20.从a数组中找出偶数放入b数组。
voidmain()
{FILE*p;
inti,j,temp,n=0;
inta[10]={7,6,20,3,14,88,53,62,10,29},b[10];
for(i=0;
if(a[i]%2==0)b[n++]=a[i];
n-1;
for(j=0;
n-i-1;
if(b[j]>
b[j+1]){temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
{fprintf(p,"
%3d"
b[i]);
if((i+1)%3==0)fputc(p,‘\n’);
61014
206288
21.求输入整数的各位数字之和。
{intn,s=0;
n);
______1______@\\w|sq2"
c;
inti,j,k,n=strlen(s);
p=fopen("
for(j=i+1;
if(*(s+j)<
*(s+i)){c=*(s+i);
*(s+i)=*(s+j);
*(s+j)=c;
i++)fputc(s[i],p);
%,.2346@\qsw|
25.将整数首尾倒置。
longf(longn)
{longm,y=0;
m=fabs(n);
while(m!
=0){
y=y*10+m%10;
______1______.5f.10fame,st[i].math,st[i].english,
st[i]puter,st[i].average);
}}
30.求符合条件的数。
voidmain()
(p=fopen("
;
i++)
if(i%3==1&
i%5==3&
i%7==5&
i%9==7)break;
i);
313
31.求Armstrong数。
#include<
{inti,m,s=0;
printf("
armstrongnumbersin100-999:
for(i=100;
i<
1000;
{m=i;
s=0;
while(m!
=0)
{s+=pow(m%10,3);
m=m/10;
if(s==i)printf("
%5d"
i);
}}
153370371407
32.将两个字符串连接起来。
{chars1[80],s2[40];
inti=0,j=0;
\ninputthefirststring:
%s"
s1);
\ninputthesecondstring:
s2);
while(s1[i]!
\0'
i+1;
0’0’0’0’0’0’0’9’.6f.5f
方法二:
intf1,f2,i;
f1=f2=1;
for(i=2;
;
{f1=f1+f2;
f2=f1+f2;
if(f1>
t||f2>
t)break;
if(f1>
t&
f2>
t) returnf1;
if(f1<
t)returnf2;
p=fopen(“”,”w”);
a[i]!
=’\0’;
s+=a[i];
fprintf(p,”%d”,s);
}
56.矩阵计算问题。
将数组a的没1行均除以该行上的对角元素(第一行同除以a[o][o],
{floata[3][3]={{,,},{2,3,},{3,4,}};
p=fopen(“”,”w”);
3;
for(j=0;
a[i][j]/=a[i][i];
for(inti=0;
i++){
for(intj=0;
j++)fprintf(p,"
%10.6f"
a[i][j]);
\n"
57.穷举法求解百鸡问题。
intcock,hen,chick;
p=fopen(“Design2,dat”,”w”);
for(cock=0;
cock<
=20;
cock++)
/*公鸡的数目作为外层循环的循环变量*/
for(hen=0;
hen<
=33;
hen++)
/*母鸡的数目作为内层循环的循环变量*/
{
chick=100-cock-hen;
/*用总鸡数方程计算小鸡的数目*/
if(chick%3==0&
5*cock+3*hen+chick/3==100)
/*如果满足总钱数,找到合理的解*/
fprintf(p,