文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计习题集第4章循环结构(答案)

C语言程序设计习题集第4章循环结构(答案)

C语言程序设计习题集第4章循环结构(答案)
C语言程序设计习题集第4章循环结构(答案)

第4章循环结构

一、选择题

1、有以下程序段

int k=0;

while(k=1)k++;

while 循环执行的次数是( A)

A) 无限次B) 有语法错,不能执行

C) 一次也不执行D) 执行1次

2、t为int类型,进入下面的循环之前,t的值为0

while( t=1)

{ …… }

则以下叙述中正确的是( B)

A) 循环控制表达式的值为0

B) 循环控制表达式的值为1

C) 循环控制表达式不合法

D) 以上说法都不对

3、在C程序中,与while(m)中表达式m完全等价的是(B )

A) m==0 B) m!=0 C) m==1 D) m!=1

4、有以下程序,程序运行后的输出结果是(C )。

main()

{int i=1,sum=0;

while(i<=4)

{

sum=sum+i;

i=i+1;

}

printf(“%d\n”,sum);}

A)4 B)5 C)10 D)死循环

5、有以下程序,程序运行后的输出结果是(D )。

main()

{ int i=1,sum=0;

while(i<=4)

sum=sum+i;

i=i+1;

printf(“%d\n”,sum);

}

A)4 B)5 C)10 D)死循环

6、有如下程序

main(){

int n=9;

while(n>6){n--;printf(“%d”,n);}

}

该程序段的输出结果是(B)

A) 987 B) 876 C) 8765 D) 9876

7、以下程序的输出结果是( B )

main()

{ int num= 0;

while(num<=2)

{ num++; printf(“%d\n”,num);}

}

A) 1 B) 1 C)1 D) l

2 2 2

3 3

4

8、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。main()

{float x,y,z;

scanf(“%f%f”,&x,&y);

z=x/y;

while(1){

if(fabs(z)>1.0)

{

x=y;

y=z;

z=x/y;}

else

break;}

printf(“%f\n”,y);}

A)1.500000 B)1.600000 C)2.000000 D)2.400000

9、执行以下程序段时

x=-1;

do

{ x=x*x; }

while(! x);

则下面描述正确的是(A )

A) 循环体将执行一次B) 循环体将执行两次

C) 循环体将执行无限次D) 系统将提示有语法错误

10、有以下程序段其输出结果是(C )

int x=3;

do

{ printf("%d",x-=2); }

while (!(--x));

A) 1 B) 3 0 C) 1 -2D) 死循环

11、有如下程序

main(){

int x=23;

do

{

printf(“%d”,x);

x--;

}while(!x);

}

该程序的执行结果是(B )

A) 321 B) 23 C) 不输出任何内容D) 陷入死循环

12、有以下程序段

int n=0,p;

do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);

此处do—while循环的结束条件是( D)

A) P的值不等于12345并且n的值小于3

B) P的值等于12345并且n的值大于等于3

C) P的值不等于12345或者n的值小于3

D) P的值等于12345或者n的值大于等于3

13、以下不构成无限循环的语句或语句组是(A)

A) n=0;

do {++n;}while(n<0);

B) n=0;

while(1){n++;}

C) n=10;

while(n);{n--;}

D) for(n=0,i=1; ;i++)n+=i;

14、若i为整型变量,则以下循环执行的次数是(B)

for(i=2;i= =0;) printf(“%d”,i--);

A)无限次B)0次C)1次D)2次

15、执行语句for(i=1;i++<4;)后,变量i的值是(C)

A) 3 B) 4 C) 5 D) 不定

16、有以下程序

main()

{

int y=9 ;

for( ; y>0 ; y--)

if(y%3==0 ) printf("%d" , --y) ;

}

程序的运行结果是(C)

A) 741 B)963 C)852 D)875421

17、以下程序执行后sum的值是( C)

A)15 B)14 C) 不确定D)0

main()

{ int i , sum;

for(i=1;i<6;i++) sum+=i;

printf(“%d\n”,sum);

}

18、有如下程序

{ int i,sum=0;

for(i=1;i<=3;sum++) sum+=i;

printf(“%d\n”,sum);

}

该程序的执行结果是(C)

A) 6 B) 3 C) 死循环D) 0

19、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )

A)0 B)10 C)-1 D)1

20、执行下面程序片段的结果是(A )。

int x;

for(x=3;x<6;x++)

printf((x%2)?(“**%d”):(”##%d\n”),x);

A)**3##4 B)##3

**5 **4##5

C)##3**4 D)**3##4

**5 ##5

21、有以下程序,执行后输出的结果是(A )。

main()

{ int i;

for(i=0;i<3;i++)

switch(i)

{ case 1: printf("%d",i);

case 2: printf("%d",i);

default: printf("%d",i);

}

}

A) 011122 B) 012 C) 012020 D) 120

22、有以下程序,程序运行后的输出结果是(C )。

main()

{ int k=4,n=0;

for( ; n

{ n++;

if(n%3!=0) continue;

k--;

}

printf("%d,%d\n",k,n);

}

A)1,1 B)2,2 C)3,3 D)4,4

23、设变量已正确定义,则以下能正确计算f = n!的程序段是(D )

A) f=0 ;

for(i=1;i<=n;i++) f*=i;

B) f=1;

for(i=1;i

for(i=n;i>1;i++) f*=i;

D) f=1;

for(i=n;i>=2;i--) f*=i;

24、执行下面程序片段的结果是(B )。main()

{int a,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=20)

break;

if(b%3= =1)

{

b+=3;continue;

}

b-=5;

}

printf(“%d\n”,a);

}

A)7 B)8 C)9 D)10

25、以下程序的输出结果是( B )。main()

{ int i=0,a=0;

while(i<20)

{ for(;;)

{ if((i%10)==0) break;

else i--;

}

i+=11; a+=i;

}

printf("%d\n",a);

}

A) 21 B) 32 C) 33 D) 11

26、以下程序的输出结果是(A )

main()

{ int i,j,x=0;

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

{ x++;

for(j=0;j<=3;j++ )

{ if(j%2) continue;

x++;}

x++;}

printf(“x=%d\n”,x);}

A)x=4 B) x=8 C) x=6 D)x=12

27、有以下程序

main()

{

int i,j;

for(i=3;i>=1;i--)

{

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

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

printf("\n ") ;

}

}

程序的运行结果是(D)

A) 2 3 4 B)4 3 2 C)2 3 D)4 5

3 4 5 5 4 3 3 4 3 4

4 5 2 3

28、有以下程序

main()

{ int i=5;

do

{

if(i%3==1)

if(i%5==2)

{ printf("*%d",i); break; }

i++;

} while(i!=0);

printf("\n");

}

程序的运行结果是(A)

A) *7 B)*3*5 C)*5 D)*2*6

29、以下程序的结果是(A)

main()

{ int n;

for(n=1; ; )

{if(++n%2==0) continue;

if(++n%3==0) break; }

printf("n=%d",n);

}

A)n=6 B)n=5 C)n=4 D)死循环

30、以下叙述中正确的是(C)

A)break语句只能用于switch语句题中

B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环

C)break 语句只能用在循环体内和switch语句体内

D)在循环体内使用break语句和continue语句的作用相同

二、程序阅读题(共10题)

1、以下程序运行后的输出结果是52 。

main()

{

int i=10, j=0;

do

{ j=j+i;

i--;

}while(i>2);

printf(“%d\n”,j);

}

2、设有以下程序:

main()

{

int n1,n2;

scanf(“%d”,&n2);

while(n2!=0)

{

n1=n2%10;

n2=n2/10;

printf(“%d”,n1);

}

}

程序运行后,如果从键盘上输入1298;则输出结果为8921 。

3、以下程序的输出结果是5。

main()

{int s,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\n",s);

}

4、阅读下面程序,程序的结果是2,1,0 。

main()

{int i=7;

for(i=2;i>0;i--)

printf(”%d,”,i);

printf(”%d”,i);}

5、阅读下面程序,程序的结果是14,4。

main()

{ int i,j,m=0;

for(i=2;i<=10;i+=4)

for(j=3;j<=4;j++)

{m++;i++;}

printf("%d,%d",i,m);}

6、阅读下面程序,程序的结果是1978。

main()

long s=0,t=0;

for(j=0;j

t=t*10+a;

s=t;

for(j=1;j

{t=t/10;

s=s-t;}

printf(”%d”,s);

}

7、以下程序运行后的输出结果是0918273645

main()

{

char c1,c2;

for(c1='0',c2='9';c1

printf("%c%c",c1,c2);

printf("\n");

}

8、以下程序的输出结果是 5 。

main()

{

int s,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\n",s);

}

9、执行以下程序后,输出'#'号的个数是 6 。

main()

{ int i,j;

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

for(j=2; j<=i; j++) putchar('#');

}

10、以下程序的输出结果是x=4

main()

{ int i,j,x=0;

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

{ x++;

for(j=0;j<=3;j++ )

{ if(j%2) continue;

x++;}

x++;}

printf(“x=%d\n”,x);}

三、程序填空题

1、以下程序的功能是计算:m=1-2+3-4+…+9-10,并输出结果。请填空。main( )

scanf(“%d”,&n);

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

{ m+=i*f;

f= -f ;

}

printf(“m=%d”,m)

}

2、以下程序的功能是计算s=1+1/2!+1/3 !+1/4 !+…+1/n! ,请填空。main( )

{

double s=0.0,fac=1.0; int i;

int n;

scanf(“%d”,&n);

for(i=1,i<=n;i++)

{ fac=fac * 1.0/i ;

s=s+fac;

}

printf(“s=%lf”,s);

}

3、以下程序的功能是计算:s=1+12+123+1234+12345。请填空。

main()

{ int t=0,s=0,i;

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

{ t=i+ t*10 ; s=s+t; }

printf("s=%d\n",s);

}

4、要使以下程序段输出10个整数,请填入一个整数。

for(i=0;i<= 18 ;printf(“%d\n”,i+=2));

5、以下函数的功能是:求x的y次方,请填空。

double fun( double x, int y)

{ int i;

double z;

for(i=1, z=x; i

return z;

}

6、以下程序的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

现在请你在下面的函数中填空,完成求π的功能。

main(){

double s=0.0; long i,n;

scanf(“%ld”,&n);

for(i=1;i<=n;i++) s=s+ 1.0/(i*i) ;

printf(“%lf”,sqrt(6*s));

7、以下用来输出两整数M和N之间的所有素数(质数),请填空,使程序能正确运行。

#define M 4

#define N 30

main()

{

int i, j, k, s=0;

for(i=M; i<= N ; i++)

{ for(j=2; j< i ; j++)

if(i%j== 0 ) break;

if(j>=i)

{ printf("%5d", i);

s=s+1;

if( s%5==0 ) printf("\n");

}

}

printf("\n");}

8、以下程序实现:从键盘输入一位整数,计算其各位数字之和。比如输入整数31421,则打印结果为11。请填空。

main(){

int i,sum=0,a;

scanf("%d",&i);

while(i>0){

a= i%10 ;

sum+=a;

i= i/10 ;

}

printf("%d\n",sum);

}

9、以下程序实现:计算1~10之间(不含10)的奇数之和以及偶数之和

main()

{

int a,b,i;

a=b=0;

for(i=0;i<10;i+=2)

{

a= a+i ;

b= b+i+1 ;

}

printf("偶数为:%d,奇数和为:%d\n",a,b);

}

10、以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。

main()

int i,j;

for(i=0; i<10 ;i++) {

j=i*10+6;

if( j%3==0 ) continue;

printf(“%d ”,j);

}

}

四、编程题

1、写一个程序,程序的功能是:从键盘输入一个整数m,输出1到m(含m)能被7或11 整除的所有整数,并计算出这些数的个数。例如:如果m为50,则程序输出7、11、14、21、2

2、28、3

3、35、42、4

4、49共11个数。

2、计算100到1000间有多少个数其各位数字之和是5。

3、从键盘输入整数n,输出1+3+5+7+…前n项的和(输入的n<=10)

4、编写程序,实现如下图形

1

12

123

1234

12345

5、打印100-999以内所有满足条件的数。条件为,这个数等于其个位数,十位数,百位数立方和,如153=1*1*1+5*5*5+3*3*3

c语言三种循环结构

任务1:控制LED 小灯亮灭 1.流程图如下: 2.程序如下: #include #define uint unsigned int #define uchar unsigned char void main() //主函数 { while(1) //while死循环 { if((P3&0x10)==0) //判断P3口上的八位与00010000相与后是否等于0,若是, 则P3.4口为低电平,也就是接在P3.4口上的开关按上了。 P1=0xfe; //当P3.4口上的开关按上了,那么就由用户使接在P1.0口 上的灯亮。 else if((P3&0x20)==0) //和上面的一样,判断P3.5口上的开关是否按上了。 P1=0Xfd; //当P3.5口上的开关按上了,点亮接在P1.1口上的灯。 else if((P3&0x40)==0) //判断P3.6口的开关是否按上了。

P1=0xfb; //当P3.6口上的开关按上了,点亮接在P1.2口上的灯。 else if((P3&0x80)==0) //判断P3.7口的开关是否按上了。 P1=0xf7; //当P3.7口上的开关按上了,点亮接在P1.3口上的灯。 else P1=0xff; //当没有按键按下时,P1口上的全部灯都不亮。 } } 3.仿真结果如下: 4.仿真结果分析: 从仿真图以及程序可以看出,当P3.4口上的开关按下时,不管其它三个开关有没有按下,只有受P3.4口开关控制的那个灯(p1.0口上的灯)才亮,以此类推,当只有P3.7口上的开关按下时,P1.3口上的灯才亮,而其它灯不亮,因为控制其它灯的按键没有按下,接在其它灯的IO口处于高电平状态。

C语言循环结构教学设计方案

《C语言循环结构》教学设计方案 一、教学内容分析 循环结构是面向过程编程中三种结构中最重要的一种结构,学好它是学好这门课程的关键。循环结构的实质是重复执行一系列语句,这种重复性是在循环条件的有效控制之下完成的。程序的关键在于如何控制循环的条件,在恰当的时机执行循环或退出循环。 二、学习者分析 循环结构是一种比较复杂的结构,在C语言中,循环结构主要包括for、while和do-while 三种语句,其中for语句的应用更为普遍一些。循环语句的用法对于有程序设计经验的学生来说轻而易举,但是对于那些没有经验的初学者来说,难度却不小。在一堂课的设计过程中,引例的作用至关重要。一个好的引例能把抽象问题简单化、具体化,有利于学生理解掌握。在学习循环结构时可先利用现实生活中的一些具体实例来说明什么是循环以及为什么要研究循环让一名初学者尽快摆脱日常的思维定式,更加透彻地理解和掌握程序设计中的基本思想,领会程序设计的精髓,总结出程序设计中每一种程序设计结构的本质及适合解决的问题,是高级语言程序设计这门课程在讲授过程中,应该时刻注意的问题。 三、教学目标 1.知识与能力 掌握循环构造的基本特点;区分多种不同类型循环结构的运行过程;掌握循环结构的格式及应用方法。 2.过程与方法 首先学会区分多种不同类型的循环结构,而后学会定义及应用方法,利用上机熟练应用技巧。 3.情感态度与价值观 我们必须抱有自己想学习的心态,多去问老师一些问题,那么你的漏洞将会越来越少,程序量和代码量才会越来越多。

四、重点难点及处理 1.循环语句的的分类和定义 For循环、while循环和do-while循环 特点:在一个程序中可以通过变换语句来使用不同的循环语句,而不改变程序 的功能。 2.循环语句的引用 例如:要从1累加到100 使用For循环:for(sum,=0,i=1;i<=100;i++) sum=sum+i 使用while循环:while(i<=100) sum=sum+i 使用do-while循环:do {sum=sum+i;} while(i<=100) 五、教学准备 1. PPT教学课件 2. 实验操作:Visual C++6.0软件平台,PC电脑,教学机房,网络课堂。 六、教学思路(教学策略等) 在一堂课的设计过程中,引例的作用至关重要。一个好的引例能把抽象问题简单化、具体化,有利于学生理解掌握。在学习循环结构时可先利用现实生活中的一些具体实例来说明什么是循环以及为什么要研究循环。现在我们可以提出一个问题:在计算机程序设计的世界里是否也有类似的这种相同操作重复出现的问题呢?利用最简单累加求和的例子。 例:求1+2+3+4+5+…+100的和。 下面就可以引出本节课的重点,通过分别使用For循环、while循环和do-while循环来完成本程序,我们在整个过程中都做着重复的、相同的事情,也就是前面所说的循环,在试着写出比较简单的程序时,可以试着选择素数或者奇数累加来增加难度,还可以使得让学生接受和探究双重循环。 七、教学过程 教学引入 掌握掌握循环结构的基本特点:for语句、while语句和do-while语句 如何计算1+2+3+4+…+100

C语言 循环结构程序设计模拟题

第五章循环结构程序设计 一、选择题 1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。(0级) A)0 B)1 C)成立D)2 2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。(0级) A)0 B)1 C);D), 3.for语句中的表达式可以部分或全部省略,但两个不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。(0级)A)0 B)1 C);D), 4.程序段如下 int k=-20; while(k=0) k=k+1; 则以下说法中正确的是。(1级) A)while循环执行20次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次5.程序段如下 int k=1; while(!k==0) {k=k+1;printf("%d\n",k);} 说法正确的是。(1级) A)while循环执行2次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次6.以下for循环是。(1级) for(a=0,b=0;(b!=123)&&(a<=4);a++) A)无限循环B)循环次数不定C)执行4次D)执行5次7.在下列程序中,while循环的循环次数是。(1级) main( ) { int i=0; while(i<10) {if(i<1) continue; if(i= =5) break; i++; } ...... } A)1 B)10 C)6 D)死循环、不能确定次数8.程序段如下 int k=0; while(k++<=2) printf("%d\n",k);

C语言三种循环语句

三种基本的循环语句: for语句、while语句和do-while语句。 一、循环语句 (一)、for循环它的一般形式为: for(<初始化>;<条件表过式>;<增量>) 语句; 初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。 例如: for(i=1;i<=10;i++) 语句; 上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。 注意: (1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。 (2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环

控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。 (3).for循环可以有多层嵌套。 例如: for(;;) 语句; for(i=1;;i+=2) 语句; for(j=5;;) 语句; 这些for循环语句都是正确的。 main() { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) printf(%d %d\n,i,j); } 输出结果为: i j 0 0 0 1 0 2

1 0 1 1 1 2 用for循环求1+2+……+100的和: main() { int sn=0,i; for(i=1;i<=100;i++) sn+=i; /*1+2+……+100*/ printf(%d\n,sn); } 从程序可以看出,使用循环语句可以大大简化代码。(二)、while循环它的一般形式为: while(条件) 语句; while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。 例如: #include stdio.h main() {

C语言循环结构小结

[C语言问题求解] 作者:苏丽媛 修订:李昕,高绍姝

1While循环 当要进行的操作相同,数据不同,但是这些数据可以形成某种序列时,考虑采用循环处理。 1.1while循环架构 while(条件) { 语句; } 1.2循环与选择结构的区别 循环是多次的(条件满足,进入循环,循环结束后返回,再次判断条件是否满足,不断循环,直到条件不满足,执行后继语句),选择结构仅仅是一次的(判断条件满足后执行,执行后结束,并开始执行后继语句) 1.3循环三要素 循环控制变量的初始化(初始化相当于设置了一个开始的值) 循环条件(条件相当于设置了一个结尾) 循环控制变量的改变(一定使之从开始到结尾的方向进行) 1.4例: #include #include int sum(int n) { int result=0; int i=1; ///i用来控制循环,称为循环控制变量//循环变量的初始化 while(i<=n) ///循环条件 { result = result + i; i++; ///即i=i+1//循环控制变量的改变 } return result; } int main() { int n; scanf("%d",&n); printf("%d\n",sum(n)); return 0; } 注:当循环结束后,循环控制变量的值是第一个不满足条件的值。 2for循环 2.1for循环结构 for(循环变量的初始化;循环的条件;循环的控制变量的改变) {

循环体; } for循环的小括号中,有且仅有两个分号,分割了循环的三要素。 for()后不能接分号,分号代表空语句,如果接了分号,意味着循环体不再属于循环,整个循环只循环了一条空语句。 循环的条件判断比循环控制变量的改变多一次(多的一次是条件不成立的第一个数)。 建议:知道循环次数采用for循环,反之,采用while循环。 循环中定义的控制变量属于局部变量,出了循环便不可用了,如果出了循环仍想使用该变量,就必须重新定义。 2.2例: #include int sum(int n) { int result=0; for(int i=1;i<=n;i++) { result = result + i; } return result; } int main() { int n; scanf("%d",&n); printf("%d\n",sum(n)); return 0; }

C语言第三次作业(循环)

C语言循环结构作业 一、实验目的: 1、熟悉掌握三种循环结构,while语句、do-while语句和for语句。 2、掌握在程序设计中用循环的方法实现一些常用算法。 3、进一步学习调试程序。 二、实验内容:(请写出程序代码及调试结果) 1.求Sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/(2n))其中n的值由键盘获得。 2.求S=aa….a -… -aaa - aa - a的值,其中a=3,n=6。 n个a 例如:22222-2222-222-22-2(例如:a=2,n=5) 3.根据以下公式求∏的值(要求满足精度0.0005,即某项小于0.0005 时停止迭代)∏/2=1+1/3+(1*2)/(3*5)+(1*2*3)/(3*5*7)+(1*2*3*4)/(3*5*7*9)+…+(1*2*3*4*…*n)/ (3*5*7*9*…*(2n+1))程序运行后,如果输入精度0.0005,则程序输出为3.140578 4.输出1至100之间每位数的乘积大于每位数的和的数 5.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1、2、3,因此6是“完数”。编程序找出1000之内的所有完数及这些完数之和,并按下面格式输出因子:6的因子是1,2,3 …… 完数和是…。 6. 有一数列:

2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20项之和。 7. 大于m且紧靠m的k个素数打印出来。 例如,若输入m=17, k=5 ,则应输出“19,23,29,31,37”。 8、求1!+2!+3!+4!+ (10) 9、猴子吃桃子问题。猴子第1天摘下若干个桃子,当即吃了一半, 还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。 到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘多少个桃子。 10、输出以下图案: * *** ***** ******* ***** *** *

C语言实验三、循环结构程序的设计解答

实验三 循环结构程序设计 一、实验目的 1.熟练掌握三种循环语句的应用。 2. 熟练掌握循环结构的嵌套。 3. 掌握break 和continue 语句的使用。 4. 练习调试与修改程序。 5. 掌握一组数据求和、求平均值、求最大值最小值的计算方法。 6.掌握循环次数已知、未知的处理方法(精度的控制、结束标志的使用等) 7.掌握简单图形的打印输出处理。 二、实验内容 1.[目的]掌握循环次数已知的循环控制处理方法。 [题目内容]编写一个程序,其功能为:计算并输出1~10的平方值。 [输入]无 [输出]如下形式 1 squared is 1 2 squared is 4 3 squared is 9 4 squared is 16 5 squared is 25 6 squared is 36 7 squared is 49 8 squared is 64 9 squared is 81 10 squared is 100 [提示]使用三种循环语句均可。 #include "stdio.h" void main( ) { int i; for(i=1;i<=10;i++) printf("\n %d squared is %d\n",i,i*i); printf("\n"); } 2.[目的]掌握循环次数已知的循环控制处理方法。 [题目内容]编写一个程序,其功能为:计算并输出 ∑==100 1 2n n x 。 [输入]键盘输入x 值 [输出]计算结果 [提示]使用三种循环语句均可。 #include "stdio.h" void main() {

int n,x,sum=0; printf("请输入x:"); scanf("%d",&x); for(n=1;n<=100;n++) sum=sum+x*x; printf("sum=%d\n",sum); } 如果程序功能为:计算并输出 n x 1 2 ,要求从键盘输入n、x值,程序应如何修改? 3.[目的]掌握循环次数已知的循环控制处理方法。 [题目内容]编写一个程序,其功能为:求1-100之间的奇数之和。 [输入]无 [输出]计算结果 [提示]使用三种循环语句均可。 #include "stdio.h" void main() { int i,sum=0; for(i=1;i<=100;i=i+2) sum=sum+i; printf("sum=%d\n",sum); } 4.[目的]掌握循环次数已知的循环控制处理方法。 [题目内容]编写一个程序,其功能为:输出100以内能被7整除的数。 [输入]无 [输出]判断结果 [提示]使用三种循环语句均可。 #include "stdio.h" void main() { int i,sum=0; for(i=1;i<=100;i++) if(i%7==0) printf("%d\t",i); } 5.[目的]掌握循环次数已知的循环控制处理方法。 [题目内容]编写一个程序,其功能为:计算并输出一年12个月的总降雨量和平均降雨量。 [输入]12个月的降雨量 [输出]总降雨量和平均降雨量 [提示]使用for循环语句,和值、平均值变量采用双精度类型,和值初值设为零。#include "stdio.h" void main() {

相关文档
相关文档 最新文档