《明解C语言》第4章 程序的循环控制练习题答案.docx

上传人:b****6 文档编号:5918632 上传时间:2023-01-02 格式:DOCX 页数:15 大小:16.59KB
下载 相关 举报
《明解C语言》第4章 程序的循环控制练习题答案.docx_第1页
第1页 / 共15页
《明解C语言》第4章 程序的循环控制练习题答案.docx_第2页
第2页 / 共15页
《明解C语言》第4章 程序的循环控制练习题答案.docx_第3页
第3页 / 共15页
《明解C语言》第4章 程序的循环控制练习题答案.docx_第4页
第4页 / 共15页
《明解C语言》第4章 程序的循环控制练习题答案.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

《明解C语言》第4章 程序的循环控制练习题答案.docx

《《明解C语言》第4章 程序的循环控制练习题答案.docx》由会员分享,可在线阅读,更多相关《《明解C语言》第4章 程序的循环控制练习题答案.docx(15页珍藏版)》请在冰豆网上搜索。

《明解C语言》第4章 程序的循环控制练习题答案.docx

《明解C语言》第4章程序的循环控制练习题答案

【个人观点】

练习4-1

#include

#include

intmain(void)

{

intnum;

intdig;

do

{

printf("请输入一个非负整数:

");

scanf("%d",&num);

if(num<0)

puts("\a\a请不要输入负整数");

}while(num<0);

printf("%d的逆向显示的结果是",num);

do

{

printf("%d",num%10);

num/=10;

}while(num>0);

puts("。

");

 

return(0);

}

【注】这样更能很好地理解num的变化

练习4-2

#include

#include

intmain(void)

{

intnum;

intdig;

inttemp;

do

{

printf("请输入一个非负整数:

");

scanf("%d",&num);

if(num<0)

puts("\a\a请不要输入负整数");

}while(num<0);

temp=num;

dig=0;

do

{

num=num/10;

dig=dig+1;

}while(num>0);

printf("%d的位数是%d.\n",temp,dig);

 

return(0);

}

练习4-3

#include

#include

intmain(void)

{

intmin,max,A,B,temp1,temp2;

intsum=0;

printf("请输入两个整数:

\n");

scanf("%d%d",&A,&B);

A

(min=A,max=B):

(min=B,max=A);

temp1=min;

temp2=max;

do

{

sum=sum+min;

min++;

}while(min<=max);

printf("大于等于%d小于等于%d的所有整数的和是%d.\n",temp1,temp2,sum);

puts("\n");

 

return(0);

}

练习4-4

#include

#include

intmain(void)

{

intnum;

intdig;

do

{

printf("请输入一个非负整数:

");

scanf("%d",&num);

if(num<0)

puts("\a\a请不要输入负整数");

}while(num<0);

printf("该整数逆向显示的结果是");

do

{

printf("%d",num%10);

num/=10;

}while(num>0);

puts("。

");

 

return(0);

}

练习4-5

#include

#include

intmain(void)

{

intnum;

intdig;

do

{

printf("请输入一个非负整数:

");

scanf("%d",&num);

if(num<0)

puts("\a\a请不要输入负整数");

}while(num<0);

dig=0;

do

{

num/=10;

dig++;

}while(num>0);

printf("该整数的位数是%d.\n",dig);

return(0);

}

练习4-6

#include

#include

intmain(void)

{

intno;

printf("请输入一个整数:

");

scanf("%d",&no);

while(no<0)

{

printf("输入错误!

");

exit(0);

}

while(no>=0)

{

printf("%d",no);

no--;

}

putchar('\n');

}

练习4-7

#include

intmain(void)

{

intno;

printf("请输入一个正整数:

");

scanf("%d",&no);

while(no>0)

printf("%d",no--);

putchar('\n');

 

return(0);

}

练习4-8

#include

#include

intmain(void)

{

inti,no;

printf("请输入一个正整数:

");

scanf("%d",&no);

while(no<0)

{

printf("Inputerror!

");

exit(0);

}

i=1;

while(i<=no)

printf("%d",i++);

putchar('\n');

 

return(0);

}

练习4-9

#include

#include

intmain(void)

{

inttemp,no,i;

printf("请输入一个正整数:

");

scanf("%d",&no);

while(no<=0)

{

printf("Inputerror!

");

exit(0);

}

no%2?

(temp=(no-1)):

(temp=no);

i=2;

while(i<=temp)

{

printf("%d",i);

i+=2;

}

putchar('\n');

 

return(0);

}

【注意】

(1)条件运算符中要有括号,不出错;

(2)引入i,将temp仅仅作为上限。

若是输出为18……2,则不需要引入i,直接用temp即可

练习4-10

#include

#include

intmain(void)

{

inttemp,no,i;

printf("请输入一个正整数:

");

scanf("%d",&no);

while(no<=0)

{

printf("Inputerror!

");

exit(0);

}

no%2?

(temp=(no-1)):

(temp=no);

i=2;

while(i<=temp)

{

printf("%d",i);

i*=2;

}

putchar('\n');

 

return(0);

}

练习4-11

#include

intmain(void)

{

intno;

printf("请输入一个整数:

");

scanf("%d",&no);

while(no-->0)

printf("*\n");

putchar('\n');

 

return(0);

}

【注意】只要限制no-->0,输入0以下的整数,自然什么也不执行

练习4-12

#include

intmain(void)

{

inti;

intsum=0;

 

for(i=1;i<=5;i++){

sum+=i;

}

printf("1到的合计值是:

%d\n",sum);

putchar('\n');

 

return(0);

}

练习4-13

#include

intmain(void)

{

inti;

intnum;

printf("请输入一个正整数:

");

scanf("%d",&num);

 

for(i=1;i<=num;i++){

printf("%d",i%10);

}

putchar('\n');

 

return(0);

}

【注】

(1)i%10是关键

练习4-14

#include

intmain(void)

{

inti;

intstart,end,interval;

printf("开始数值(cm)\n",start);

scanf("%d",&start);

printf("结束数值(cm)\n",end);

scanf("%d",&end);

printf("间隔数值(cm)\n",interval);

scanf("%d",&interval);

 

for(i=150;i<=end;i+=5){

printf("%d%.2f\n",i,(double)(i-100)*0.9);

}

putchar('\n');

return(0);

}

练习4-15

#include

intmain(void)

{

inti,j;

printf("|");

for(i=1;i<=9;i++)

printf("%3d",i);

putchar('\n');

for(i=1;i<=32;i++)

printf("-");

printf("\n");

for(i=1;i<=9;i++){

printf("%d|",i);

for(j=1;j<=9;j++)

printf("%3d",i*j);

putchar('\n');

}

return(0);

}

练习4-16

#include

intmain(void)

{

inti,j;

intside,another;

puts("让我们来画一个长方形。

");

printf("一边:

");scanf("%d",&side);

printf("另一边:

");scanf("%d",&another);

 

for(i=1;i<=side;i++){

for(j=1;j<=another;j++)

putchar('*');

putchar('\n');

}

 

return(0);

}

练习4-17

【1】

#include

intmain(void)

{

inti,j,ln;

printf("三角形有几层:

");

scanf("%d",&ln);

for(i=1;i<=ln;i++){

for(j=ln;j>=i;j--)

putchar('*');

putchar('\n');

}

return(0);

}

【注】

(1)for(j=ln;j>=i;j--)是重点

【2】教材上的4-19不是右下三角,现在输出右下三角

#include

intmain(void)

{

inti,j,ln;

printf("三角形有几层:

");

scanf("%d",&ln);

for(i=1;i<=ln;i++){

for(j=ln-1;j>=i;j--)

putchar('');

for(j=1;j<=i;j++)

putchar('*');

putchar('\n');

}

return(0);

}

【3】右上三角

#include

intmain(void)

{

inti,j,ln;

printf("三角形有几层:

");

scanf("%d",&ln);

for(i=1;i<=ln;i++){

for(j=1;j<=i;j++)

putchar('');

for(j=ln;j>=i;j--)

putchar('*');

putchar('\n');

}

return(0);

}

练习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个*

#include

voidmain()

{

inti,j,k,ln;

printf("让我们来描绘一个金字塔。

\n");

printf("金字塔有几层:

");

scanf("%d",&ln);

for(i=1;i<=ln;i++){

for(j=1;j<=ln-i;j++)

printf("");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

return(0);

}

【注】注意第二个循环

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1