哈尔滨工程大学
《程序设计基础》实验报告
基础实践三
姓 名: 麦豆 班 级:
学 号:
实验时间: 2018 年 4 月 26 日
成绩
哈尔滨工程大学计算机基础课程教学中心
实验题目1:输入十个整数,输出其中的最大值和最小值.
设计思想:利用数组将十个数存储,然后,先假设第一个为最大值或最小值,直接用循环对数组进行两个比较然后交换值,前一个始终保持为最大值或最小值,最后输出.
实验代码及注释:
#include
int main()
{
/*输入十个整数输出其中的最大值和最小值*/
/*直接用循环对数组进行两个比较然后交换值,前一个始终保持为最大值或最小值*/
int number[10];//声明数组
int i=0,j=0;// 计数变量
int min,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);
return 0;
}
验证与结论:
总结与心得体会:
比较大小一般会用到数组,常用方法是先假设第一个值为最大值或最小值,然后将其与其他值比较交换,最后得到最大值或最小值.
实验题目2:猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天再想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子?
设计思想:声明x为前一天剩下桃子数,y为昨天早上吃完剩余桃子数,倒退可得x与y关系为x/2-1=y,利用循环可得第一天桃注意第十天早上猴子未吃故循环变量i<10
实验代码及注释:
#include
int main()
{
int x,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);
return 0;
}
验证与结论:
总结与心得体会:
先想好如何计算再写代码,另外循环条件必须得想清楚,真正吃了九天.
实验题目3:输出以下图形
*****H
****e
***l
** l
*o
设计思想:倒序存储hello字符在数组中,用循环循环count次,当循环了count次,打印字符数组count-1号数组,同时count--,令i=0再次循环.
最后输出整个图形.
实验代码及注释:
#include
int main()
{
int