一、问题及代码
定义一个有10个的数组a,输出数组a中所有的奇数的阶乘和和偶数的阶乘和。其中将奇偶数的判断和阶段的计算定义为函数。
/*
* 文件名称:shiyan4.cpp
* 作 者:徐泽超
* 完成日期:2017 年 4月 10日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:奇偶阶乘
* 输入描述:输入10个整数
* 问题描述: 分别求奇数的阶乘和与偶数的阶乘和,并输出
* 程序输出:奇数的阶乘和与偶数的阶乘和
* 问题分析:编写判断奇偶数的函数和求阶乘的函数
* 算法设计:如下
*/
#include <iostream>
using namespace std;
int judge(int);
int fac(int);
int main()
{
int a[10];
int i,sum1=0,sum2=0;
cout<<"请输入十个整数:"<<endl;
for(i=0;i<10;i++)
{
cin>>a[i];
}
for(i=0;i<10;i++)
{
if(judge(a[i]))
{
sum1+=a[i];
}
else
{
sum2+=a[i];
}
}
cout<<"奇数的阶乘和为:"<<sum1<<endl;
cout<<"偶数的阶乘和为:"<<sum2<<endl;
return 0;
}
int judge(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
int fac(int m)
{
static int sum=m;
if(m==0)
return 1;
else
{
sum*=fac(m-1);
return sum;
}
}
二、运行结果
三、心得体会
1、模块化编程有利于编程者思维清晰,不易出错
四、知识点总结
1、函数的定义与声明
2、阶乘的多种方法
本次C++实验是关于数组处理的,通过定义函数实现数组中奇数和偶数的阶乘求和。运行结果显示了模块化编程的优势,有助于提高代码的清晰度和准确性。实验重点复习了函数声明与定义,以及不同方法计算阶乘。

1万+

被折叠的 条评论
为什么被折叠?



