《明解C语言》第4章 程序的循环控制练习题答案Word文档格式.docx
《《明解C语言》第4章 程序的循环控制练习题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《《明解C语言》第4章 程序的循环控制练习题答案Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
puts("
\a\a请不要输入负整数"
}while(num<
0);
printf("
%d的逆向显示的结果是"
num);
num%10);
num/=10;
}while(num>
puts("
。
return(0);
}
【注】这样更能很好地理解num的变化
练习4-2
inttemp;
temp=num;
dig=0;
num=num/10;
dig=dig+1;
%d的位数是%d.\n"
temp,dig);
练习4-3
intmin,max,A,B,temp1,temp2;
intsum=0;
请输入两个整数:
\n"
scanf("
%d%d"
A,&
B);
A<
B?
(min=A,max=B):
(min=B,max=A);
temp1=min;
temp2=max;
sum=sum+min;
min++;
}while(min<
=max);
大于等于%d小于等于%d的所有整数的和是%d.\n"
temp1,temp2,sum);
练习4-4
该整数逆向显示的结果是"
练习4-5
dig++;
该整数的位数是%d.\n"
dig);
练习4-6
intno;
请输入一个整数:
no);
while(no<
输入错误!
exit(0);
}
while(no>
=0)
%d"
no);
no--;
putchar('
\n'
练习4-7
请输入一个正整数:
while(no>
no--);
练习4-8
inti,no;
Inputerror!
i=1;
while(i<
=no)
i++);
练习4-9
inttemp,no,i;
no%2?
(temp=(no-1)):
(temp=no);
i=2;
=temp)
i);
i+=2;
【注意】
(1)条件运算符中要有括号,不出错;
(2)引入i,将temp仅仅作为上限。
若是输出为18……2,则不需要引入i,直接用temp即可
练习4-10
i*=2;
练习4-11
while(no-->
*\n"
【注意】只要限制no-->
0,输入0以下的整数,自然什么也不执行
练习4-12
inti;
for(i=1;
i<
=5;
i++){
sum+=i;
1到的合计值是:
%d\n"
sum);
练习4-13
=num;
i%10);
【注】
(1)i%10是关键
练习4-14
intstart,end,interval;
开始数值(cm)\n"
start);
start);
结束数值(cm)\n"
end);
end);
间隔数值(cm)\n"
interval);
interval);
for(i=150;
=end;
i+=5){
%d%.2f\n"
i,(double)(i-100)*0.9);
练习4-15
inti,j;
|"
for(i=1;
=9;
i++)
%3d"
=32;
-"
%d|"
for(j=1;
j<
j++)
printf("
i*j);
putchar('
练习4-16
intside,another;
让我们来画一个长方形。
一边:
scanf("
side);
另一边:
another);
=side;
=another;
putchar('
*'
练习4-17
【1】
inti,j,ln;
三角形有几层:
ln);
=ln;
for(j=ln;
j>
=i;
j--)
(1)for(j=ln;
j--)是重点
【2】教材上的4-19不是右下三角,现在输出右下三角
for(j=ln-1;
'
【3】右上三角
=i;
练习4-18
第1次j=1,j小于等于4输出4个空格k=1,k小于等于1输出1个*
第2次j=1,j小于等于3输出3个空格k=1,k小于等于(2*2-1)=3输出3个*
第3次j=1,j小于等于2输出2个空格k=1,k小于等于(2*3-1)=5输出5个*
第4次j=1,j小于等于1输出1个空格k=1,k小于等于(2*4-1)=7输出7个*
第5次j=1,j小于等于0输出0个空格k=1,k小于等于(2*5-1)=9输出9个*
voidmain()
{
inti,j,k,ln;
让我们来描绘一个金字塔。
金字塔有几层:
i<
=ln;
for(j=1;
j<
=ln-i;
"
for(k=1;
k<
=2*i-1;
k++)
*"
【注】注意第二个循环