C++第四次实验-函数-项目2(奇偶阶乘)
来源:互联网 发布:大数据概念板块 编辑:程序博客网 时间:2024/05/23 13:57
一、问题及代码:
/*
* 文件名称:求数组中奇数,偶数的阶乘
* 作 者:温天柱
* 完成日期:2017 年 4 月 10日
* 版 本 号:visual c++ 6.0
* 对任务及求解方法的描述部分:设计两个函数,一个主函数,两个子函数用来判断奇偶性和求阶乘和
* 输入描述:无
* 问题描述:求数组中的奇数,偶数的阶乘
* 程序输出:略
* 问题分析:首先要判断数组中的数哪些是奇数,哪些是偶数,然后在分别对它们求阶乘,再求和
* 算法设计:用数组储存数字,用BOOL判断是奇数还是偶数,用函数的递归调用求阶乘
*/
#include<iostream>
using namespace std;
int sum=0;
int Fun(int n);
bool Num(int n);
int main()
{
int sum1=0,sum2=0;
int a[10];
cout<<"请输入10个数字(大于0)\n";
for(int i=0;i<10;i++)
cin>>a[i];
for(i=0;i<10;i++)
{
if(Num(a[i])==true)
sum1=sum1+Fun(a[i]);
else
sum2=sum2+Fun(a[i]);
}
cout<<"奇数的阶乘和为:"<<sum1<<endl;
cout<<"偶数的阶乘和为:"<<sum2<<endl;
cin.get();
return 0;
}
int Fun(int n)
{
if (n==1||n==0)
return 1;
else
sum=n*Fun(n-1);
return sum;
}
bool Num(int n)
{
bool temp;
if(n%2==0)
temp=false;
else
temp=true;
return temp;
}
* 文件名称:求数组中奇数,偶数的阶乘
* 作 者:温天柱
* 完成日期:2017 年 4 月 10日
* 版 本 号:visual c++ 6.0
* 对任务及求解方法的描述部分:设计两个函数,一个主函数,两个子函数用来判断奇偶性和求阶乘和
* 输入描述:无
* 问题描述:求数组中的奇数,偶数的阶乘
* 程序输出:略
* 问题分析:首先要判断数组中的数哪些是奇数,哪些是偶数,然后在分别对它们求阶乘,再求和
* 算法设计:用数组储存数字,用BOOL判断是奇数还是偶数,用函数的递归调用求阶乘
*/
#include<iostream>
using namespace std;
int sum=0;
int Fun(int n);
bool Num(int n);
int main()
{
int sum1=0,sum2=0;
int a[10];
cout<<"请输入10个数字(大于0)\n";
for(int i=0;i<10;i++)
cin>>a[i];
for(i=0;i<10;i++)
{
if(Num(a[i])==true)
sum1=sum1+Fun(a[i]);
else
sum2=sum2+Fun(a[i]);
}
cout<<"奇数的阶乘和为:"<<sum1<<endl;
cout<<"偶数的阶乘和为:"<<sum2<<endl;
cin.get();
return 0;
}
int Fun(int n)
{
if (n==1||n==0)
return 1;
else
sum=n*Fun(n-1);
return sum;
}
bool Num(int n)
{
bool temp;
if(n%2==0)
temp=false;
else
temp=true;
return temp;
}
二、运行结果:
三、心得体会:
在设计子函数的时候,可以灵活运用全局变量和局部变量,在这题中,我把sum做为全局变量,就解决了在递归调用中出现的问题,又把sum1,sum2作为主函数中的局部变量,就不容易混淆各变量的关系,与此同时,在做这题可以先写主函数,看自己需要哪些子函数,然后再构造子函数。
四、知识点总结:
在这题中,合理的利用局部变量和全局变量,可以省去很多的时间,并为之后的程序检查提供方便。调用子函数之前,如果子函数不在主函数之前,那就必须要对子函数进行声明,告诉编译器这里有个子函数需要你注意,如果子函数在主函数之前就构造好了,那就不需要子函数的声明,可在主函数中直接调用。还有,子函数中的形参类型要和你调用时的实参类型一致,不然h会出现语法错误。
0 0
- C++第四次实验-函数-项目2(奇偶阶乘)
- C++第七次实验—作业(项目2:奇偶阶乘)
- 第四次作业-奇偶阶乘
- 奇偶阶乘(实验)
- c++第四次作业-奇偶阶乘
- C++第四次上机实验-项目2
- 第四次实验 函数调用
- 第四次实验 函数调用
- C++第四次实验:项目二、三、四(作业)
- c++第四次实验-2
- c++第四次实验(项目2——学生类)
- 第四次上机实验项目一
- c++实验第四次 项目七
- c++第四次实验-项目七
- c++第四次实验-项目一
- C++第四次实验 项目1
- C++第四次上机实验【项目四】
- 第四次C程序设计实验报告
- 进程和现成相关知识积累查找
- [MFC] 记录工作中常用的琐碎知识点
- 关于matlab中get和set的用法(转)
- 谈谈对Spring IOC的理解
- 管理器点击浏览时出现Service Unavailable
- C++第四次实验-函数-项目2(奇偶阶乘)
- Circular Queue
- R语言中的机器学习
- 自定制ProgressView
- 如何把字符串转换成整数
- volatile关键字详解
- MyBatis拦截器分页原理及PageHelper分页插件教学
- jni异常,c++抛出异常,java捕获
- numpy 中的ndarray数组返回符合特定条件的索引方法