湖北理工学院c语言程序设计实验3答案.docx
- 文档编号:715275
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:20
- 大小:434.25KB
湖北理工学院c语言程序设计实验3答案.docx
《湖北理工学院c语言程序设计实验3答案.docx》由会员分享,可在线阅读,更多相关《湖北理工学院c语言程序设计实验3答案.docx(20页珍藏版)》请在冰豆网上搜索。
湖北理工学院c语言程序设计实验3答案
实验三循环结构程序设计
实验课程名:
C语言程序设计
专业班级:
学号:
:
实验时间:
实验地点:
指导教师:
一、实验目的和要求
1.熟悉掌握用for语句,while语句和do_while语句实现循环的方法。
2.掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
二、实验容
1、编写程序,随机输入15个整数,可以是正数、负数和零,计算它们的和、所有正数之和及所有负数之和,分类统计正数、负数以及零的个数,并分别打印出来。
解答:
(1)源代码:
#include
intmain()
{
inta[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);
return0;
}
(2)运行结果:
(3)运行结果分析:
运行成功。
2、有一分数序列:
2/1,3/2,5/3,8/5,13/8,21/13,…。
求出这个数列的前20项之和。
解答:
(1)源代码:
#include
intmain()
{
floata=1,b=2,c,sum=0;
inti;
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;
}
printf("%.2f\n",sum);
return0;
}
(2)运行结果:
(3)运行结果分析:
运行成功
3、编写程序,求1!
+2!
+3!
+…+N!
的值,N的值由键盘输入。
解答:
(1)源代码:
#include
intmain()
{
inta,c,i,s,sum;
s=1;
sum=0;
printf("1!
+2!
+3!
+…+N!
\n");
printf("请输入N的值\n");
scanf("%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);
return0;
}
(2)运行结果:
(3)运行结果分析:
运行成功。
4、编程序按下列公式计算e的值(精度为1e-6):
e=1+1/1!
+1/2!
+1/3!
+…+1/n!
解答:
(1)源代码:
#include
intmain()
{
inta,c,i;
floatsum,s;
s=1;
sum=0;
for(c=1;1/s>=1e-6;c++)
{
s=s*c;
}
s=1;
for(i=1;i<=c;i++)
{
for(a=1;a
{
s=s*a;
}
sum=sum+1/s;
s=1;
}
printf("e=%f\n",sum);
return0;
}
(2)运行结果:
(3)运行结果分析:
运行成功
5、输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
解答:
(1)源代码:
#include
intmain()
{
chars;
inta=0,b=0,c=0,d=0;
printf("请输入一行字符");
while((s=getchar())!
='\n')
{
if((s>='a'&&s<='z')||(s>='A'&&s<='Z'))
a++;
if(s=='')
b++;
if(s>='0'&&s<='9')
c++;
if(!
(s>='a'&&s<='z')&&!
(s>='A'&&s<='Z')&&(s!
='')&&!
(s>='0'&&s<='9'))
d++;
}
printf("其中字母有%d个\n",a);
printf("其中空格有%d个\n",b);
printf("其中数字有%d个\n",c);
printf("其中其他字符有%d个\n",d);
return0;
}
(2)运行结果:
(3)运行结果分析:
运行成功
6、编程求1000以所有的水仙花数。
谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。
例,153是水仙花数,因为153=13+53+33。
解答:
(1)源代码:
#include
intmain()
{
inta,b,c,d,i;
printf("1000以的水仙花数为");
for(i=100;i<1000;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
d=a*a*a+b*b*b+c*c*c;
if(i==d)
printf("%d",i);
}
printf("\n");
return0;
}
(2)运行结果:
(3)运行结果分析:
运行成功
7、编程:
素数是除了1和其本身以外,不能被其他自然数整除的自然数。
从键盘输入一个数,判断该数是不是素数?
解答:
(1)源代码:
#include
intmain()
{
inta,b,x,i;
x=1;
printf("请输入一个自然数");
scanf("%d",&a);
if(a==1)
printf("该数不是素数\n");
else
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖北 理工学院 语言程序设计 实验 答案