湖北理工学院c语言程序设计4,湖北理工学院c语言程序设计实验3答案.docx

实验三循环结构程序设计

实验课程名: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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值