实验三 循环结构程序设计
实验课程名 :C 语言程序设计
专业班级: 学号: 姓名:
实验时间: 实验地点: 指导教师:
一、实验目的和要求
1. 熟悉掌握用 for 语句 ,while 语句和 do_while 语句实现循环的方法。
2. 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等) 。
二、实验内容
1、编写程序,随机输入 15 个整数,可以是正数、负数和零,计算它们的和、所有正数之和及所有
负数之和,分类统计正数、负数以及零的个数,并分别打印出来。
解答:
(1)源代码:
#include
int main()
{
int a[14],i,sum1=0,sum2=0,sum3=0,x=0,y=0,z=0;
printf(" 请输入十五个整数: ");
for(i=0;i<15;i++)
{
scanf("%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 ) 运 行 结 果 :
(3 )运行结果分析:运行成功。
2、有一分数序列: 2/1 ,3/2,5/3 ,8/5, 13/8 ,21/13 ,… 。求出这个数列的前 20 项之和。
解答:
(1)源代码:
#include
int main()
{
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;