实验4-循环结构详解

  • 格式:doc
  • 大小:81.50 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》实验报告

实验序号:4 实验项目:循环结构

1.

方法1:用while语句:

#include

int main()

{

int i=1;

double sum=0,term,a=2,b=1,c;

while(i<=20)

{

term=a/b;

sum=sum+term;

c=a+b;

b=a;

a=c;

i++;

}

printf("sum=%.2f\n",sum);

return 0;

}

方法2:用do-while语句:

#include

int main()

{

int i=1;

double sum=0,term,a=2,b=1,c; do{

term=a/b;

sum=sum+term;

c=a+b;

b=a;

a=c;

i++;

}

while(i<=20);

printf("sum=%.2f\n",sum); return 0;

}

方法3:用for语句:

#include

int main()

{

int i;

double sum=0,term,a=2,b=1,c; for(i=1;i<=20;i++)

{

term=a/b;

sum=sum+term;

c=a+b;

b=a;

a=c;

}

printf("sum=%.2f\n",sum); return 0;

}

#include

int main()

{

int x,y,z,i=0;

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

for(y=1;y<=12;y++)

for(z=2;z<=36;z=z+2)

if( 4*x+3*y+z/2==36&&x+y+z==36)

{

i++;

printf("有%d种方法.其中:\nx=%d\ny=%d\nz=%d\n",i,x,y,z);

}

return 0;

}

3.

#include

int main()

{

int x=0,i=0;

while (i<10)

{

if (x%3==2 && x%5==4 && x%7==3)

{

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

i++;

}

x++;

}

return 0;

}

4.

#include

#include

int main()

{

long x;

int i=0;

printf("plesae input x (x为长整形正数)\n");

scanf("%ld",&x);

do{

x=x/10;

i++;

}

while(x>0);

printf("x为%d位数:\n",i);

return 0;

}

5.

#include

int main()

{

int i, x=3,sum=3;

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

{

x=(x-0.5)*2;

sum=x+sum;

}

printf("第十年的产量是%d\n",x);

printf("前十年的总产量是%d\n",sum);

return 0;

}

6.

#include

int main()

{

int i,j;

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

{

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

{

if(i*1+j*2==10)

printf("10元换成: %d张1元%d张2元\n",i,j);

}

}

return 0;

}

7.

#include

int main()

{

int i,j;

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

{

for(j=1;j<=(i<4?4-i:i-4);++j) printf(" ");

for(j=1;j<=(i<4?i*2-1:15-2*i);++j) printf("*");

for(j=1;j<=(i<4?4-i:i-4);++j) printf(" ");

printf("\n");

}

return 0;

}

8.

/*统计有2个位数相等,但3个数字不全相等的3位自然偶数的个数*/

#include

int main()

{ int x,a,b,c,i=0;

for(x=100;x<1000;x++)

{

if(x%2==0) //判断是否为偶数

{

a=x%10;//个位

b=(x/10)%10;//十位

c=x/100;//百位

if((a==b && b!=c)||(a==c && b!=c)||(b==c && a!=c)) //判断两个位数相等

{

i++;//满足提议计数器自增1

printf("%d ",x); //输出适合的x

}

}

}

printf("\nTotally: %d\n",i); //统计符合题意的x总个数

return 0;

}