程序及算法流程设计实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

程序设计与算法分析
题目1:给定10个整数{10,25,14,16,32,10,9,20,5,3},求出其最大值并输出。

算法分析:
利用计算机循环程序,用数组a[ ]存放题中的10个整数,借助中间变量temp,通过一次冒泡排序,把最大的数求出来:先将a[0]和a[1]比较,如果a[0]<a[1]则将它们的值进行交换,然后再将a[0]和a[2]比较,如果a[0]<a[2]则将它们的值进行交换,a[0]依次和后续a[3]、a[4]、……a[9],直到遍历所有十个数,保证a[0]中的数最大,最后输出a[0]即可。

程序设计:
int main() {
int a[ ] = new int[10];
a[0]=10;
a[1]=25;
a[2]=14;
a[3]=16;
a[4]=32;
a[5]=10;
a[6]=9;
a[7]=20;
a[8]=5;
a[9]=3;
int temp;
print("这是原数组:");
for(int i=0;i<a.length;i++){
print(a[]+" ");
}
for(int i=0;i<a.length;i++){
if(a[0]<a[i]){
temp=a[i];
a[0]=a[i];
a[i]=temp;
}
}
print("最大的数是:",a[0]);
}
流程图:
题目2:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问一年后的兔子对总数为多少?
算法分析:
兔子的不断繁殖过程可以理解为是一个递推过程,兔子对的规律为数列:1,1,2,3,5,8,13,21....
可以看出:在单一过程中,若月份为“1”或“2”,则兔子对数量为“1”,否则就叠加之前的两个递推过程。

要计算一年后兔子对的总数,可让计算机对上述递推过程循环执行 12 次,最后一次即为累加结果。

程序设计:
主程序:
main(){
int i=0;
for(i=1;i<=12;i++){
f(i);
}
print(f(i));
}
子程序:
f(x)
{
if(x=1 or x=2)
return 1;
else
return f(x-1)+f(x-2);
}
流程图:
1、主程序流程图
2、子程序流程图。

相关文档
最新文档