C语言复杂程序部分模拟试题
[1].下面函数用来求出两个整数之和,并通过形参传回两数相加之和值,请填空。
intadd(intx,inty,____intz__________)
{z=x+y;}
[2].下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其它元素不变。请填空。
#include"stdio.h"
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;_____j<9_________;j++)
if(__(a[I]>a[j])&&(j%2==0)____________)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);putchar(''\n'');}
[3].以下程序的输出结果是__ga______。
main()
{chara[]="programming",b[]="language";
charp1=a,p2=b;
inti;
for(i=0;i<7;i++)
if((p1+i)==(p2+i))printf("%c",(p1+i));}
[4].以下程序运行后,输出结果是__a=2,b=1______。
#include
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:switch(y)
{case0:a++;break;
case1:b++;break;}
case2:a++;b++;break;
case3:a++;b++;}
printf("\na=%d,b=%d",a,b);}
[5].函数pi的功能是根据以下近似公式求π值,请在下面的函数中填空,完成求π的功能。
(ππ)/6=1+1/(22)+1/(33)+…+1/(nn)
#include
doublepi(longn)
{doubles=0.0,m;longi;
for(i=1;i<=n;i++){m=1.0/(ii);s=______________;}
return(sqrt(6s));}
[6].以下程序运行后,如果从键盘上输入:
book<回车>
book<空格><回车>
则输出结果是________。
#include
main()
{chara1[80],a2[80],s1=a1,s2=a2;
gets(s1);gets(s2);
if(!strcmp(s1,s2))printf("");
elseprintf("#");
printf("%d\n",strlen(strcat(s1,s2)));}
[7].以下程序运行后,输出结果是__x=8______。
main()
{intj,k,x=0;
for(j=0;j<2;j++)
{x++;
for(k=0;k<=3;k++)
{if(k%2)continue;
x++;}
x++;}
printf("x=%d\n",x);}
[8].以下程序运行后的输出结果是__10010______。
main()
{inty=18,i=0,j,a[8];
do
{a[i]=y%2;i++;
y=y/2;
}while(y>=1);
for(j=i-1;j>=0;j--)printf("%d",a[j]);
printf("\n");}
[9].下面程序的功能是将字符串a下标值为偶数的元素由小到大排序,其它元素不变。请填空。
#include"stdio.h"
main()
{chara[]="labchmfye",t;
inti,j;
for(i=0;i<7;i+=2)
for(j=i+2;____j<9__________;j++)
if(_(a[I]>a[j])&&(j%2==0)_____________)
{t=a[i];a[i]=a[j];a[j]=t;j++;}
puts(a);putchar(''\n'');}
[10].以下程序的功能是从键盘上输入一行字符并存入一个字符数组中,然后输出该字符串,请填空。
#include"stdio.h"
main()
{charstr[81],sptr;
inti;
for(i=0;i<80;i++)
{str[i]=getchar();
if(str[i]==''\n'')break;}
str[i]=______________;
sptr=str;
while(sptr)putchar(sptr______________);}
[11].下面程序能找出数组中最大值和该值所在的元素下标,数组元素值从键盘输入,请填空。
main()
{intx[10],p1,p2,k;
for(k=0;k<10;k++)scanf("%d",x+k);
for(p1=x,p2=x;p1-x<10;p1++)
if(p1>p2)p2=______________;
printf("MAX=%d,INDEX=%d\n",p2,______________);}
[12].下面程序把从终端读入的10个整数以二进制方式写到一个名为bi.dat的新文件中,请填空。
#include"stdio.h"
FILEfp;
main()
{inti,j;
if((fp=fopen(_”bi.dat”_______,"wb"))==NULL)exit(0);
for(i=0;i<10;i++)
{scanf("%d",&j);
fwrite(&j,sizeof(int),1,__fp______);
}
fclose(fp);
}
[13].以下程序是实现输出x,y,z三个数中的最大者。
main()
{ intx=4,y=6;z=7;
intu,____v_____;
if(x>y) u=x;elseu=y;
if(u>z) v=u;else____v=z__________;
printf("themaxis%d",v);}
[14].下面程序的功能是从键盘输入的10个整数中,找出第一个能被7整除的数,若找到,打印此数后退出循环;若未找到,打印"notexist"。请填空。
main()
{inti,a;
for(i=1;i<=10;i++)
{scanf("%d",&a);
if(a%7==0){printf("%d",a);____break__________;}
}
if(i==11)printf("notexist\n");}
[15].以下程序运行后,如果从键盘上输入:
book<回车>
book<空格><回车>
则输出结果是________。
#include
main()
{chara1[80],a2[80],s1=a1,s2=a2;
gets(s1);gets(s2);
if(!strcmp(s1,s2))printf("");
elseprintf("#");
printf("%d\n",strlen(strcat(s1,s2)));}
[16].设有以下结构类型说明和变量定义,则变量a在内存所占字节数是____22__________。
structstud
{charnum[6];
ints[4];
doubleave;
}a,p;
[17].下面程序能找出数组中最大值和该值所在的元素下标,数组元素值从键盘输入,请填空。
main()
{intx[10],p1,p2,k;
for(k=0;k<10;k++)scanf("%d",x+k);
for(p1=x,p2=x;p1-x<10;p1++)
if(p1>p2)p2=______________;
printf("MAX=%d,INDEX=%d\n",p2,______________);}
[18].以下程序可计算10名学生1门课程的平均分,请填空。
floataverage(floatarray[10])
{ inti;floataver,sum=array[0];
for(i=1;i<10;i++)sum+=array[i];
aver=sum/10; returnaver;}
main()
{ floatscore[10],aver;inti;
for(i=0;i<10;i++)scanf("%f",____&score[i]__________);
aver=_____average(score)_________;
printf("averagescoreis%5.2f\n",aver);}
[19].以下fun函数的功能是累加数组元素中的值。n为数组中元素的个数,累加的和值放入x所指的存储单元中,请填空。
fun(intb[],intn,intx)
{intk,r=0;
for(k=0;______________;k++)r=r+b[k];
______________=r;}
[20].下面程序由终端键盘输入字符,存放到文件a.dat中,用!结束输入,请填空。
main()
{ FILE fp;charch;
if((fp=fopen("a.dat","w"))==NULL)
{printf("cannotopen\n");exit(0);}
printf("Enterdata:\n");
while(___ch=getchar()!=’!’_______________)fputc(___ch,fp___________);
fclose(fp);}
[21].函数fun的功能是使一个字符串按逆序存放,请填空。
voidfun(charstr[])
{charm;inti,j;
for(i=0,j=strlen(str);i<____j-1__________;i++,j--)
{m=str[i];str[i]=____str[j-1]__________;str[j-1]=m;}
|
|