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;
}


二、运行结果:


三、心得体会:
  在设计子函数的时候,可以灵活运用全局变量和局部变量,在这题中,我把sum做为全局变量,就解决了在递归调用中出现的问题,又把sum1,sum2作为主函数中的局部变量,就不容易混淆各变量的关系,与此同时,在做这题可以先写主函数,看自己需要哪些子函数,然后再构造子函数。


四、知识点总结:
  在这题中,合理的利用局部变量和全局变量,可以省去很多的时间,并为之后的程序检查提供方便。调用子函数之前,如果子函数不在主函数之前,那就必须要对子函数进行声明,告诉编译器这里有个子函数需要你注意,如果子函数在主函数之前就构造好了,那就不需要子函数的声明,可在主函数中直接调用。还有,子函数中的形参类型要和你调用时的实参类型一致,不然h会出现语法错误。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 4岁宝宝晚上尿多怎么办 2岁宝宝晚上尿多怎么办 3岁宝宝晚上尿多怎么办 宝宝拉肚子拉绿色的屎怎么办 婴儿吃奶粉大便干燥怎么办 母乳宝宝不拉大便怎么办 我儿子8岁拉肚子怎么办 1岁宝宝经常便秘怎么办 两个月宝宝拉水怎么办 宝宝吃奶粉上火便秘怎么办 20多天的宝宝便秘怎么办 宝宝五十天消化不良不拉屎怎么办 一周七个月宝宝消化不良拉屎怎么办 孩子总是消化不良拉屎不成型怎么办 一岁宝宝长牙慢怎么办 一岁宝宝不喝水怎么办 七个月的宝宝咳嗽怎么办 怀孕七个月感冒了怎么办 苹果汁弄到白色衣服怎么办 宝宝大便干燥拉不出来怎么办 婴儿吃过青菜米粉呕吐怎么办 50天宝宝便秘5天怎么办 8个月婴幼儿便秘怎么办 1个月婴幼儿便秘怎么办 榨汁后的苹果渣怎么办 宝宝6个月后容易生病怎么办 婴儿头型睡偏了怎么办 6个月婴儿不吃奶怎么办 宝宝秋季腹泻反复发烧怎么办 纯甄过期一个月怎么办 四个月宝宝不吃奶瓶怎么办 四个月宝宝不吃奶粉怎么办 婴儿三四天不大便怎么办 婴儿几天不拉大便怎么办 新生儿6天不拉屎怎么办 孩子10天不大便怎么办 宝宝5天没拉屎怎么办 小孩4-5天不大便怎么办 三个月宝宝睡前哭闹厉害怎么办 新生儿抱着睡放下就醒怎么办 宝宝大运动发育迟缓怎么办