实验三循环结构程序设计
实验课程名:C语言程序设计
专业班级: 学号: 姓名:
实验时间: 实验地点: 指导教师:
、实验目的和要求
熟悉掌握用for语句,while语句和do_while语句实现循环的方法。
掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)
二、实验内容
1、编写程序,随机输入15个整数,可以是正数、负数和零,计算它们的和、所有正数之和及所有
负数之和,分类统计正数、负数以及零的个数,并分别打印出来。
解答:
(1)源代码:
#i nclude
int mai n()
{
int a[14],i,su m仁 0,sum2=0,sum3=0,x=0,y=0,z=0;
prin tf("请输入十五个整数:");
for(i=0;i<15;i++)
{
sca nf("%d",&a[i]);
sum1=sum1+a[i];
if(a[i]>0)
{
sum2=sum2+a[i];
x=x+1;
}
if(a[i]==0)
z=z+1;
if(a[i]<0)
{
sum3=sum3+a[i];
y=y+1;
}
}
printf("所有数的和为 %d\n",sum1);
printf("所有正数的和为%d\n",sum2);
printf("所有负数的和为%d\n",sum3);
printf(" 其中有%d个正数\n",x);
printf(”其中有 %d( 0\n",z);
printf(”其中有%d个负数\n",y);
return 0;
}
2)运行结果
|"C: \LSEES'-USE^&' DESKTOP;ZHA>G HAO 7I.A5\Debj£ 1-1. txe*zF上 2316 1 A
|"C: \LSEES'-USE^&' DESKTOP;ZHA>G HAO 7I.A5\Debj£ 1-1. txe*
z
F上 231
6 1 A 莖13为冯却 干的驚15T 卞犁员有Mr 有有-S-S-B- 堂苴其片
4
8
G
4
79 &4 34 34 岛 87 97 646 4 64 b4 b8
to 数ey 负k ■个ny uGa
(3)运行结果分析:运行成功
2、有一分数序列:2/1 , 3/2, 5/3, 8/5, 13/8 , 21/13,…。求出这个数列的前 20项之和。
解答:
源代码:
#i nclude int mai n()
{
float a=1,b=2,c,sum=0;
int i;
printf("2/1, 3/2 , 5/3 , 8/5 , 13/8 , 21/13,…前二十项的和为");
for(i=1;i<21;i++)
{
sum=sum+b/a;
c=a+b;
a=b;
b=c;
prin tf("%.2f\n",sum);
return 0;
}
(2)运行结果
(3)运行结果分析:运行成功
3、编写程序,求1! + 2 ! + 3! +…+N!的值,N的值由键盘输入。
解答:
源代码:
#i nclude
int mai n()
{
int a,c,i,s,sum;
s=1;
sum=0;
printf("1! + 2 ! + 3 ! + …+N! \n");
printf("请输入N的值\n");
sca nf("%d",&c);
for(i=1;i<=c;i++)
{
for(a=1;a<=i;a++)
{
s=s*a;
} sum=sum+s; s=1;
}
printf(”其结果为 %d\n",sum);
return 0;
}
运行结果:
运行结果分析:运行成功
4、编程序按下列公式计算e的值(精度为1e-6): e=1+1/1!+1/2!+1/3!+…+1/n!
解答:
源代码:
#i nclude
int mai n()
{
int a,c,i;
float sum,s;
s=1;
sum=0;
for(c=1;1/s>=1e-6;c++)
L
s=s*c;
}
s=1;
for(i=1;i<=c;i++)
{
for(a=1;a
s=s*a;
}
sum=sum+1/s; s=1;
}
prin tf("e=%f\n",sum); return 0;
}
运行结果:
运行结果分析:运行成功
5、输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
解答:
源代码:
#i nclude
int mai n()
L
char s;
int a=O,b=O,c=O,d=O; printf("请输入一行字符");
while((s=getchar