循环结构程序设计
程序填空
下面程序的功能为:计算1~100之间的偶数之和,完成以下的程序并运行出正确的结果。
# include <>
void main()
{int i,s=0;
/**************found*************/
i=2 ;
while(i<=100)
{s=s+i;
/**************found**************/
i+=2 ;
}
printf(“s=%d”,s);
}
运行结果:S=2550
程序改错
(1) 下面程序的功能为:计算10!,修改以下的程序并上机运行通过。
#include <>
void main()
{int n,t;
for(n=1,t=1,t<10,t++);
n=n*t;
printf(“10!=%d\n”,n);
}
正确的程序:
#include <>
void main()
{int n,t;
for(n=1,t=1;t<=10;t++) //句尾不能有“;”
n=n*t;
printf(“10!=%d\n”,n);
}
运行结果:10!=3628800
(2) 下面程序的功能为:计算1~100之间能被3和7整除的数之和,修改以下的程序并上机运行通过。
#include <>
void main()
{int i,s;
s=0;
while(i<=100);
{if(i%3==0||i%7==0)
s+=i;
i=i+1;
}
printf(“s=%d”,s);
}
正确的程序:
#include <>
void main()
{int i,s;
s=0; i=1;
while(i<=100) //句尾不能有“;”
{if(i%3==0&&i%7==0)
s+=i;
i=i+1;
}
printf(“s=%d”,s);
}
运行结果:S=210
3、有一个分数序列:2/1、3/2、5/3、8/5、13/8、……,编写一个C程序,求出这个数列的前30项之和。
解:
方法一、单个函数模块:
#include <>
void main()
{
int i=1;
double t,x=1,y=2,sum=0;
while(i<=30)
{
sum=sum+y/x;
t=y;
y=y+x;
x=t;
i++;
}
printf("%f\n",sum);
}
方法二、多个函数模块:
#include <>
double fun(int n)
{ double a=1,b=2;
double result=;
int i;
for(i=0;i<n;i++)
{
result+=b/a;
b=a+b;
a=b-a;
}
实验3循环结构程序设计(有答案) 来自淘豆网www.taodocs.com转载请标明出处.