C语言程序设计答案(黄保和编)第5章.doc
文本预览下载声明
一、选择题1.设有程序段”int k=10;while(k=0)k=k-1;”,则下面叙述正确的是2.设有程序段”int x=0,s=0;while(!x!=0)s+=++x;printf(“%d”,s);”则A 运行程序段后输出13.若有语句”int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));”,则该程序段C 输出的是1和-24.下面循环语句中,错误的是D int a=1,b=2;do b--while(b= =0);5.已知”int i=5;”,下列do…while循环语句的循环次数为C 5?do{printf(“%d\n”,i--);}while(i!=0);6.循环语句”for(int i=0,j=10;i=j=10;i++,j--)”的循环次数是D 无限7.循环语句”while(int i=0;)i--;”的循环次数是A 08.下述有关break语句的描述中,不正确的是9.下面关于循环语句的描述中,错误的是B 循环体内必须同时出现break语句和continue语句10.以下不是死循环的是D for(;(c=getchar()!=’\n’);)printf(“%c”,c);11.执行语句”for(i=0;i++3;);”后,变量i的值为C 412.语句”for(x=0,y=0;y!=1x4;x++);”是C 循环4次13.与语句”while(!x);”等价的语句是A while(x= =0);14.执行下列程序段后a的值为B 2? int a=1,b=10;? do{? ? b-=a;a++;}while(b--0)
二、编程题
1.读入用户输入的6个整数并显示其平均值。
#includestdio.h
main()
{
float sum=0;
int tmp;
int i;
for(i=0;i6;i++)
{
printf(输入第%d个数:,i+1);
scanf(%d,tmp);
sum=sum+tmp;
}
printf(平均值是:%f,sum/6);
}
2.先读入一个正整数n,然后计算并显示前n个偶数的和。
#includestdio.h
main()
{
int sum=0,n,i;
printf(输入一个正整数:);
scanf(%d,n);
for(i=1;i=n;i++)
sum+=2*i;
printf(前n个偶数和为:%d\n,sum);
}
3.显示10~150之间所有能被4或5整除的整数
#includestdio.h
main()
{
int i;
for(i=10;i=150;i++)
if(i%4==0||i%5==0)
printf(%d\t,i);
}
4.显示Fibonacci数列的前30项(每行5输出项)
#includestdio.h
main()
{
int a,b,c,i;
a=1;b=1;
for(i=1;i=30;i++)
{
c=a+b;
printf(%d\t,a);
a=b;
b=c;
if(i%5==0)
putchar(\n);
}
}
5.显示Fibonacci数列中值小于15000的所有数据项(每行5输出项)
#includestdio.h
main()
{
int a,b,c,i;
a=1;b=1;
for(i=1;a15000;i++)
{
c=a+b;
printf(%d\t,a);
a=b;
b=c;
if(i%5==0)
putchar(\n);
}
}
6.输出100~200之间所有能被3和7整除的数
#includestdio.h
main()
{
int i;
for(i=100;i=200;i++)
if(i%3==0i%7==0)
printf(%d\t,i);
}
7.输入两个整数,分别输出他们的最大公约数和最小公倍数
#includestdio.h
main()
{
int a,b,max,min,i;
printf(输入两个整数:);
scanf(%d%d,a,b);
max=a?b:ab;
min=a?b:ab;
for(i=min;i=1;i--)
{
if(a%i==0b%i==0)
{
printf(最大公约数是:%d\n,i);
break;
}
}
for(i=max;;i++)
{
if(i%a==0i%b==0)
{
printf(最小公倍数是:%d\n,i);
break;
}
}
}
8.求一个二位整数AB(其中AB分别为
显示全部