C语言程序设计第6章习题Word格式.docx
- 文档编号:20797270
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:12
- 大小:24.78KB
C语言程序设计第6章习题Word格式.docx
《C语言程序设计第6章习题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第6章习题Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
printf(“%d\n”,a);
A.31B.13C.10D.20
(6)下列语句中可以只输出26个大写英文字母的是()
A.for(a='
A'
;
a<
='
Z'
printf(“%c”,++a));
B.for(a='
a++,printf(“%c”,a));
C.for(a='
printf(“%c”,a++));
D.for(a='
(7)设有程序段:
intk=0;
while(k=0)k--;
则下面描述中正确的是()
A.while循环执行10次B.循环无限次执行
C.循环体语句一次也不执行D.循环体语句执行一次
(8)设有程序段:
while(k=1)k--;
(9)以下关于语句的说法中正确的是()
A.do…while()语句的循环体至少会执行一次
B.while语句的循环体至少会执行一次
C.for语句的循环体至少会执行一次
D.在C语句中只能用do、do…while()或for语句实现循环结构
(10)C语句用()表示逻辑“真”值。
A.trueB.t或yC.非零的任何数D.整数0
(11)以下for循环是()
for(x=0,y=0;
(y!
=123)&
&
(x<
4);
x++);
A.无限循环B.循环次数不定C.执行4次D.执行3次
(12)while语句和do…while()语句的主要区别是()
A.do…while()的循环体至少无条件执行一次
B.while的循环体控制条件比do…while()的循环控制条件严格
C.do…while()允许从外部转到循环体内
D.do…while()的循环体不能是复合语句
(13)以下程序输出结果是()
#include<
stdio.h>
main()
inti;
for(i=1;
=5;
if(i%2)printf(“*”);
elsecontinue;
printf(“#”);
printf(“s\n”);
A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$
(14)执行语句“for(s=0,i=1;
=10;
i=i+2)s+=i;
”后,变量s、i的当前值分别是()
A.25,11B.12,10C.25,10D.12,11
(15)下面的程序段可循环的次数为()
inti=2;
while(i=0)printf(“%d”,i);
i++;
printf(“\n”);
A.2B.1C.0D.死循环,无数次
(16)下面的程序执行后()
intx=3;
do
printf(“%d\n”,x-=2);
}while(!
(--x));
A.输出的是1B.输出的是1和2C.输出的是3和0D.是死循环
(17)定义inta=10,下列循环的输出结果是()
while(a>
7)
{a--;
printf(“%d”,a);
A.1098B.987C.10987D.9876
(18)若i、j已定义为int类型,则以下程序段中的内循环总共被执行()
for(i=4;
i;
i--)
j++){…}
A.24次B.30次C.25次D.20次
2、输入若干个字符,输入字符“$”结束输入,统计并输出字符串中非数字字符的个数。
#include
<
voidmain()
charch;
inta;
a=0;
do
{
scanf("
%c"
ch);
/*getchar();
*/
if(ch<
=48||ch>
=57)
a=a+1;
}while(ch!
$'
);
printf("
非数字字符有%d个\n"
a);
/*算上字符$*/
3、输出100以内的不能被7整除的数。
inta;
a=1;
do
if(a%7!
=0)printf("
%d,a);
a++;
}while(a<
=100);
printf("
a=%d"
a);
4、求s不超过1000时n的最大值,s=1+2+3+…+n。
ints,n;
s=0;
n=1;
{
s=s+n;
n++;
}while(s<
=1000);
%d"
s);
5、编写程序,输出以下图案。
*
***
*****
*******
***
*
inta,b,c;
for(a=1;
=4;
a++)
for(b=1;
b<
=8-2*a;
b++)printf("
"
for(c=1;
c<
=a;
c++)printf("
*"
\n"
}
for(a=3;
a>
=1;
a--)
for(b=6;
for(c=5;
6、求s=1!
+2!
+3!
+4!
+5!
+…+n!
(n<
20)
#include<
intmain()
ints,i,j;
j=1;
=20;
j=j*i;
s=s+j;
}
%d\n"
7、打印所有的“水仙花数”。
所谓水仙花数,是指一个3位数,其各位数字的立方之和等于该数本身(如:
153=13+53+33)。
inti,j,k,n;
水仙花数有:
"
for(n=100;
n<
1000;
n++)
{
i=n/100;
j=(n-i*100)/10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)printf("
%d"
n);
%n"
n);
8、整元换零钱问题。
把1元钱兑换成1分、2分、5分硬币,共有多少种不同的换法?
inta,b,c,num=0;
for(a=0;
=100;
for(b=0;
=(100-a)/2;
b++)
for(c=0;
=(100-a-2*b)/5;
c++)
if(a+2*b+5*c==100)num++;
printf("
num);
9、有一分数序列
求出这个数列的前20项之和。
inti,x,y,a;
floatsum=0;
x=2;
y=1;
20;
sum+=(float)(x)/y;
%d/%d\n"
x,y);
a=x;
x=x+y;
y=a;
%7.5f\n"
sum);
10、一球从100米高处自由落下,每次落地后跳回原高度的一半,再落下。
它第10次落地时,共经过的短程是多少米?
第10次反弹多高?
main()
floatsn=100.0,hn=sn/2;
intn;
for(n=2;
n++)
sn=sn+2*hn;
/*第n次落地时共经过的米数*/
hn=hn/2;
/*第n次反跳高度*/
thetotalofroadis%f\n"
sn);
thetenthis%fmeter\n"
hn);
11、将一个正数分解质因数。
例如:
90=2×
3×
5.
voidmain()
intn,i;
\npleaseinputanumber:
%d"
&
%d="
for(i=2;
=n;
{
while(n!
=i)
{
if(n%i==0)
{printf("
%d*"
i);
n=n/i;
}
elsebreak;
}
12、猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃掉前一天剩下的一半零一个。
到第10天早上想再吃时,就剩一个桃子。
猴子第一天共摘了多少桃子?
intday,x1,x2;
day=9;
x2=1;
while(day>
0)
x1=(x2+1)*2;
/*第一天的桃子数是第2天桃子数加1后的2倍*/
x2=x1;
day--;
thetotalis%d\n"
x1);
13、求Sn=a+aa+aaa+…+aa…a,最后一项为n个a,其中a是一个数字。
2+22+222+2222(此时n=5)。
n由键盘输入。
intmain(void)
intsum=0;
intn;
inti=0;
请入a值(整数):
a="
scanf("
&
请入n值:
n="
while(i<
n)
sum=a+sum*10;
sun+=sum;
++i;
sun=%d\n"
sun);
14、一个百万富翁遇到一个穷人,穷人找他谈一个换钱的计划。
穷人说:
我每天给你十万元,而你第一天只需给我一元钱,第二天我仍给你十万元,你给我两元钱,第三天我仍然给你十万元,你给我四元钱。
以后你每天给我的钱是前一天的两倍,我每天给你十万元,直到满一个月(30天)。
百万富翁很高兴,欣然接受了这个计划,并立下契约。
请编写一个程序计算各一个月穷人给了百万富翁多少钱,百万富翁给了穷人多少钱?
void
main()
{
double
sumx=0,sumy=0,y=0.01;
int
i,j;
=30;
i++)
sumx+=100000;
for(j=1;
=(i-1);
j++)
y=y*2;
}
sumy+=y;
商人所得sumx=%lf\n陌生人所得sumy=%lf\n"
sumx,sumy);
15、百鸡问题。
公鸡1只5元,母鸡1只3元,小鸡3只1元,用100元买100只鸡,问公鸡、母鸡和小鸡各多少只?
#include<
inti,j;
for(i=3;
i<
100;
i+=3)
for(j=1;
j<
j++)
if(i/3+j*3+(100-i-j)*5==100&
100-i-j>
0)
小鸡%d只,母鸡%d只,公鸡%d只。
i,j,100-i-j);
16、编写程序用下列公式cosx的近似值。
精度要求:
通项的绝对值小于等于10-6时止。
#include"
stdio.h"
math.h"
intt=-1,i=2,j;
doubleh,a=1,b,x,s=1,m;
intputX:
%lf"
x);
m=x*x;
h=x;
while(fabs(h)>
=1e-6)
a=a*m;
for(b=1,j=1;
=i;
j++)
{b=b*j;
h=t*(a/b);
s=s+h;
i=i+2;
t=-t;
cos%lf=%.6lf\n"
x,s);
getch();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 习题