计算机二级C语言填空题题库文档格式.docx
《计算机二级C语言填空题题库文档格式.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言填空题题库文档格式.docx(23页珍藏版)》请在冰点文库上搜索。
*q/**/)max=*q;
elseif(min>
*q)min=*q;
inti,num[10];
Input10numbers:
"
);
for(i=0;
10;
i++)scanf("
%d"
&
num[i]);
find_max_min(/**/num/**/,10);
max=%d,min=%d\n"
max,min);
--------------------------------------------------------------------------------------------------------------------
1.补充Ccon021.C,使其计算满足下式的一位整数A和B的值。
AB
×
BA
__________
403
inta,b,k;
intplu=/**/403/**/;
for(a=1;
a<
a++)
for(b=1;
b<
b++){
k=(a*10+b)*/**/(b*10+a)/**/;
if(k==plu)printf("
A=%d,B=%d\n"
a,b);
2.补充程序Ccon022.C,使其实现输入若干整数,统计其中大于零和小于零的个数,以零结束输入。
intn,a,b;
a=0;
b=0;
scanf("
n);
while(n!
=0){
if(n>
0)a++;
if(n<
0)b++;
Positiveinteger:
%d,Negativeinteger:
%d\n"
3.补充程序Ccon023.C,该程序测试歌德巴赫猜想:
从键盘上输入一个大于6的偶数,总能找到两个素数,使得这两个素数之和正好等于该偶数。
conio.h>
intprime(intn)
intk,flag=1;
for(k=2;
k<
=n/2+1;
k++)
if(n%k==0){flag=/**/1/**/;
break;
returnflag;
intnum,a;
clrscr();
do{
Pleaseinputanevennumber:
num);
}while(num<
=6||num%2==1);
for(a=2;
=num/2+1;
if(prime(a)&
&
prime(/**/num-a/**/))
\n%d=%d+%d"
num,a,num-a);
_______________________________________________________________________________
1.补充Ccon031.C,用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
/**/voidmain()/**/
floatx,x0,f,f1;
x=1.5;
x0=x;
f=((2*x0-4)*x0+3)*x0-6;
f1=(6*x0-8)*x0+3;
x=x0-f/f1;
}/**/while/**/(fabs(x-x0)>
=1e-6);
therootis:
%0.2f\n"
x);
2.补充程序Ccon032.C,输入一行字符中的大写字母转化为小写字母,小写字母转化为大写字母,其余字符不变。
chars[80];
inti;
Pleaseinputastring:
((s[i]=getchar())!
='
\n'
)&
(i<
80);
i++);
s[i]='
\0'
;
s[i]!
/**/i++/**/)
{
if(s[i]>
a'
s[i]<
z'
)
s[i]=s[i]-32;
elseif(/**/s[i]>
A'
Z'
/**/)
s[i]=s[i]+32;
%c"
s[i]);
3.Ccon033.C,调用average函数计算数组元素的平均值。
floataverage(int*pa,intn)
intk;
/**/floatavg=0;
for(k=0;
n;
avg=avg+/**/pa[k]/**/;
avg=avg/n;
returnavg;
inta[5]={20,30,45,64,23};
floatm;
m=average(/**/a/**/,5);
Average=%f\n"
m);
1.Ccon041.C从键盘输入一个同学的姓名(如“Jack”),输出问候该同学的信息(如”Hello,Jack!
”)。
/**/#include/**/<
/**/char/**/str[11];
pleaseinputaname:
\n"
%s"
str);
Hello,%s!
getch();
2.Ccon042.C
使程序中的sort()函数用冒泡法对数组a中的m个元素从大到小排序。
voidsort(inta[],intm)
inti,j,t,swap;
/**/m-1/**/;
i++)
swap=0;
for(j=0;
j<
m-i-1;
j++)
if/**/(a[j]>
a[j+1])/**/{
swap=1;
t=a[j];
a[j]=/**/a[j+1]/**/;
a[j+1]=t;
if(!
swap)break;
inta[]={23,55,8,32,18,2,9};
inti,k=sizeof(a)/sizeof(int);
sort(a,k);
k;
%d"
a[i]);
3.Ccon043.C
fun()函数用勾股定理判断一个三角形是否为直角三角形。
即输入一个三角形的三边长a,b,c,若能构成直角三角形则返回1,不能则返回0。
intfun(/**/floata,floatb,floatc/**/)
floattemp;
intbTrue=0;
if(a<
b){temp=a;
a=b;
b=temp;
c){temp=a;
a=c;
c=temp;
if(fabs(/**/a*a/**/-(b*b+c*c))<
1.0e-15)
bTrue=1;
returnbTrue;
main()
floata,b,c;
pleaseinputthreenumbers:
%f%f%f"
a,&
b,&
c);
if(fun(a,b,c)==1)printf("
Yes\n"
elseprintf("
No\n"
1.Ccon051.C
输入一个整数,输出该数的平方。
intx;
pleaseinputanumber:
/**/&
x/**/);
%d*%d=%d\n"
x,x,/**/x*x/**/);
2.Ccon052.C
Sort()函数用选择法对数组a中的m个元素从小到大排序。
inti,j,k,t;
m-1;
i++){
k=i;
for(j=i+1;
/**/m/**/;
if(a[j]<
a[k])/**/k=j/**/;
if(k!
=i){t=a[k];
a[k]=a[i];
a[i]=/**/t/**/;
inta[]={72,25,58,-90};
inti,m=sizeof(a)/sizeof(int);
sort(a,m);
m;
i++)printf("
3.Ccon053.C
fun()函数,能根据三角形a,b,c,用公式
,s=(a+b+c)/2。
计算面积。
(规定:
若三边不能构成三角形,返回-1)
/**/float/**/fun(floata,floatb,floatc)
floats,area;
s=/**/(a+b+c)/2/**/;
s=s*(s-a)*(s-b)*(s-c);
if(s<
0)area=-1;
elsearea=sqrt(s);
returnarea;
floata,b,c,area;
\t"
area=fun(a,b,c);
Areais:
%.f\n"
area);
1.Ccon061.C
从键盘上输入一个4行4列的二维整型数组表示的4×
4阶矩阵,并计算第1列元素之和。
如输入:
1234
5678
9101112
13141516
输出:
28
inti,/**/j/**/;
inta[4][4],sum;
sum=/**/0/**/;
pleaseinput16numbers:
4;
a[i][j]);
/**/sum+=a[i][0];
sum);
2.Ccon062.C
fun()函数用二分法在a中查找q,若找到第一个q,则返回对应下标,没找到返回-1。
intfun(inta[],intn,/**/intq/**/)
intleft,right,mid;
left=0;
right=n-1;
while(left<
=right){
mid=/**/(left+right)/2/**/;
if(q<
a[mid])right=mid-1;
elseif(q>
a[mid])left=mid+q;
elsereturnmid;
return-1;
inta[]={12,23,40,-45,56,-5};
fun(a,sizeof(a)/sizeof(int),40));
3.Ccon063.C
fun()函数判断输入的一个点(x,y)是否位于坐标在原点,半径为r(r>
0)的圆内。
intfun(/**/floatr/**/,floatx,floaty)
intbIn;
bIn=/**/sqrt(x*x+y*y)/**/<
r;
returnbIn;
floatradius,x,y;
inputtheradius:
%f"
radius);
\ninputxandy:
x,&
y);
%f%f"
if(fun(radius,x,y))printf("
thepointisinthecircle.\n"
thepointisnotinthecircle.\n"
1.1.补充程序Ccon071.C,对函数
分别计算
和
的值。
如x=2.0,则输出:
f(x+8)=86.000
f(sinx)=5.008
/**/#include<
doublefun(doublex)
/**/return(x*x-2*x+6);
doublex,y1,y2;
Pleaseinputx:
%lf"
y1=fun(x+8);
y2=fun(/**/sin(x)/**/);
\nf(x+8)=%.3lf"
y1);
\nf(sinx)=%.3lf"
y2);
----------------------------------------------------------------------------------------------------------------------
2.补充程序Ccon072.C,计算
,其中m、n为整数且
。
doublefun(unsignedm,unsignedn)
unsignedi;
doublep=1.0;
=m;
/**/p=p*i;
=n;
/**/p=p/i;
=m-n;
p=p/i;
returnp;
p=%f\n"
fun(2,1));
3.补充程序Ccon073.C,函数findmax返回数组中的最大元素。
intfindmax(int*array,intsize);
inta[]={33,91,23,45,56,-12,32,12,5,90};
printf("
Themaxis%d\n"
/**/findmax(a,sizeof(a)/sizeof(int)));
intfindmax(int*array,intsize)
inti,/**/max=*array/**/;
i<
size;
i++)
if(array[i]>
max)
max=array[i];
returnmax;
1.补充程序Ccon081.C,根据输入的整数m(m>
=0)值,计算
unsignedsum(unsignedn)
unsignedi,/**/sum=0;
/**/
sum+=i;
/**/returnsum;
intm;
Pleaseinputaunsignedinteger:
m);
while(m<
0){
\nThesumis%d\n"
/**/sum(m)/**/);
2.补充程序Ccon082.C,使其实现将一个字符串str的内容逆向存储。
inti,j,/**/k/**/;
charstr[]="
1234567"
for(i=0,/**/j=strlen(str)-1/**/;
j;
i++,j--)
k=str[i];
str[i]=str[j];
str[j]=k;
%s\n"
3.补充程序Ccon083.C,实现将结构体数组mystudent中存储的各学生信息按其学号的升序排列,并输出排序后各个学生的信息。
string.h>
typedefstruct{
intnum;
charname[20],sex[2];
intage,score;
}STU;
STUmystudent[]={
{1111,"
Zhangqiang"
"
m"
20,80},
{2104,"
Liminghong"
w"
18,82},
{3121,"
Wangxingda"
21,78},
{4118,"
Liushaotao"
20,90},
{1456,"
Wuminghong"
35,86}
};
voidsort(STU*ps,intsize)
inti,flag,pass;
/**/STUtemp;
for(pass=1;
pass<
pass++)
flag=0;
size-pass;
if(/**/(ps+i)->
num>
(ps+i+1)->
num/**/)
flag+=1;
temp=ps[i];
ps[i]=ps[i+1];
ps[i+1]=temp;
if(/**/flag==0/**/)break;
inti,size=sizeof(mystudent)/sizeof(STU);
Students\'
informationbeforesort:
\n\n"
NumberNameageSexscore\n\n"
for