计算机科学与技术第3次上机实验.docx
- 文档编号:9582262
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:11
- 大小:79.79KB
计算机科学与技术第3次上机实验.docx
《计算机科学与技术第3次上机实验.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术第3次上机实验.docx(11页珍藏版)》请在冰点文库上搜索。
计算机科学与技术第3次上机实验
工程大学
《程序设计基础》实验报告
基础实践三
姓名:
麦豆班级:
学号:
实验时间:
2018年4月26日
成绩
工程大学计算机基础课程教学中心
实验题目1:
输入十个整数,输出其中的最大值和最小值.
设计思想:
利用数组将十个数存储,然后,先假设第一个为最大值或最小值,直接用循环对数组进行两个比较然后交换值,前一个始终保持为最大值或最小值,最后输出.
实验代码及注释:
#include
intmain()
{
/*输入十个整数输出其中的最大值和最小值*/
/*直接用循环对数组进行两个比较然后交换值,前一个始终保持为最大值或最小值*/
intnumber[10];//声明数组
inti=0,j=0;//计数变量
intmin,max,middle[10];//最大值与最小值,同步数组
printf("请输入十个整数:
");
for(i=0;i<=9;i++)//利用for循环将十个数存储在number数组中此数组用于最大值的比较
{
scanf("%d",&number[i]);//注意其中0号为第一个数
middle[j]=number[i];//将输入的数同步存储到middle数组中用于最小值的比较
j++;
}
for(i=0;i<=9;i++)
{
if(number[i]>number[i+1])
{
number[i+1]=number[i];//如果前一个数大于后一个数则将前一个数赋给后一个数同时将大值赋给max
max=number[i+1];
}
else
{
max=number[i+1];//后一个始终为最大值将其赋给max
}
}
for(j=0;j<=9;j++)
{
if(middle[j]>middle[j+1])
{
min=middle[j+1];//后一个始终为最小值将其赋给min
}
else
{
middle[j+1]=middle[j];//如果前一个数小于后一个数则将前一个数赋给后一个数同时将小值赋给min
min=middle[j+1];
}
}
printf("最大值为:
%d\t最小值为:
%d\n",max,min);
return0;
}
验证与结论:
总结与心得体会:
比较大小一般会用到数组,常用方法是先假设第一个值为最大值或最小值,然后将其与其他值比较交换,最后得到最大值或最小值.
实验题目2:
猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。
第二天又将剩下的桃子吃掉一半,又多吃了一个。
以后每天都吃前一天剩下的一半零一个。
到第10天再想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
设计思想:
声明x为前一天剩下桃子数,y为昨天早上吃完剩余桃子数,倒退可得x与y关系为x/2-1=y,利用循环可得第一天桃注意第十天早上猴子未吃故循环变量i<10
实验代码及注释:
#include
intmain()
{
intx,y=1,i;//前一天剩下桃子数,昨天早上吃完剩余桃子数,倒退天数变量
for(i=1;i<10;i++)//第十天早上猴子未吃故i<10
{
x=(y+1)*2;//倒推可得x/2-1=y
y=x;
}
printf("第一天摘了%d个桃子\n",x);
return0;
}
验证与结论:
总结与心得体会:
先想好如何计算再写代码,另外循环条件必须得想清楚,真正吃了九天.
实验题目3:
输出以下图形
*****H
****e
***l
**l
*o
设计思想:
倒序存储hello字符在数组中,用循环循环count次,当循环了count次,打印字符数组count-1号数组,同时count--,令i=0再次循环.
最后输出整个图形.
实验代码及注释:
#include
intmain()
{
inti,count=5;//i循环变量,count每行循环打印的*个数
charc[5]={'o','l','l','e','H'};//倒序存储hello字符
for(i=1;i<=count;i++)//循环count次
{
printf("*");
if(i==count)//当循环了count次,打印字符数组count-1号数组,同时count--,令i=0再次循环.
{
printf("%c\n",c[count-1]);
count--;
i=0;
}
}
return0;
}
验证与结论:
总结与心得体会:
单个字符数组与字符串数组是有区别的,一般后者使用较多,也更为方便.
实验题目4:
求1~2000之间的所有完数.完数是指一个数恰好等于它的因子之和(除自身外),则称这个数为完数.
设计思想:
判断每个数是否为它的因子,利用数组将每个数的因数存进去,再计算因数和是否等于其本身,若等于则输出.
实验代码及注释:
#include
#include
//利用数组将每个数的因数存进去,再计算因数和是否等于其本身
intmain()
{
intyinnumber[100];//因数存储数组
inti,j,k,a,sum,count;//外层数循环变量,整除因数,每个数,sum为加和数
yinnumber[0]=1;//考虑到因数1的特殊性(是所有数的因子),故将1赋于数组0号位
for(i=2;i<=2000;i++)//1不是完数故从2开始,同时i表示从2到2000数
{
a=i;//将i值赋给a,a表示2到2000之间的一个数
count=1;//数组变量从1开始,0存储因子1
sum=0;//因数和每次初始化为0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 技术 上机 实验
![提示](https://static.bingdoc.com/images/bang_tan.gif)