C语言数组与循环结构程序设计实验报告-推荐下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称程序设计基础
实验项目数组与循环结构程序设计(一)
实验仪器计算机
系别计算机学院
专业
班级/学号
学生姓名
实验日期 2014.12.4 成绩
指导教师
实验三
一、实验目的
(1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。
(2)掌握在程序设计中用循环的方法实现一些常用算法。
(3)进一步学习调试程序。
二、实验内容
(1)输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。
(2)输出所有的“水仙花数” ,所谓“水仙花数”是指一个3位数,其各位
数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。
(3)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每
天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半零两个。请修改程序并运行,检查结果是否正确。
三、实验课时
2课时
4、实验步骤(20分)
(1).先分析题目,想一个能达成目标的算法,然后打开vc6.0开始打码,等到
完成后先编译看是否有错误,若有则查看软件给出的提示再进行修改,直到成
功再运行程序并输入数字检验,看是否正确,不正确则返回代码再修改直到结
果正确,最后截图完成实验。
(2).分析题目初步确定算法,然后打开vc6.0开始打码,注意格式,防止犯错误,代码打好后F7查看是否正确,不正确则修改,正确则开始运行,验证输出
是否正确,错误则返回修改,否则完成实验。
(3).分析题目初步确定算法,打开VC6.0,新建文件C++SF,输入代码,运行,记录输出信息,分析原因;按照题目要求,对代码进行修改,继续运行,成功则记录输出信息,进行截屏,完成问答。
5、流程图(20分)
1.
2.
3 .
6、实验心得(20分)
(1).实验中遇到while((c=getchar())!='\n')不明白他的意思,通过查找资料知道其意思是遇到回车键就输出。
(2).实验中最大的难题就是用怎样的一个算法来算出个十百位的数字,最后通过参阅资料解决,多做练习培养自己算法思维很重要。
(3).实验中使用逆推的思想,由此设计一个while结构算法,完成程序。
七.运行结果截图(15分)
(1).
(2).
(3).
八.C程序源代码(25分)
(1).#include
int main()
{
char c;
int letters=0,space=0,digit=0,other=0;
printf("请输入一行字符:\n");
while((c=getchar())!='\n')
{
if(c>='a' && c<='z' || c>='A' && c<='Z')
letters++;
else if(c==' ')
space++;
else if(c>='0' && c<='9')
digit++;
else
other++;
}
printf("字母数:%d\n空格数:%d\n数字数:%d\n其他字符数:%d\n",letters,space,digit,other);
return 0;
}
(2).
#include
int main()
{
int i,j,k,n;
printf("水仙花数:");
for(n=100;n<1000;n++)
{
i=n/100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k) printf("%d ",n);
}
printf("\n");
return 0;
}
(3).
1.#include
int main()
{
int a,b,d;
b=1;
d=9;
while(d>0)
{
a=(b+1)*2;
b=a;
d--;
}
printf("桃子=%d\n",a); return 0;
}
2. #include
int main()
{
int a,b,d;
b=1;
d=9;
while(d>0)
{
a=(b+2)*2;
b=a;
d--;
}
printf("桃子=%d\n",a);
return 0; }