一、问题及代码
/*
*文件名称:奇偶阶乘
*作 者:武鹏翔
*完成日期:2017.4.10
*版 本 号:v6.0
*对任务及求解方法描述部分:
*输入描述:
*问题描述:
*程序输出:
*问题分析:定义一个有10个的数组a,输出数组a中所有的奇数的阶乘和和偶数的阶乘和。其中将奇偶数的判断和阶段的计算定义为函数:
*算法设计:
*/
#include<iostream>
using namespace std;
int panduan(int x);
int jie(int p[],int y);
int main()
{
int a[10],b[10],c[10];
int i,j=0,k=0;
cout<<"请输入十个整数:";
for(i=0;i<10;i++)
{
cin>>a[i];
}
for(i=0;i<10;i++)
{
if(panduan(a[i])==1)
b[j++]=a[i];
else if(panduan(a[i])==2)
c[k++]=a[i];
}
cout<<"奇数的阶乘为:"<<jie(b,j)<<endl;
cout<<"偶数的阶乘为:"<<jie(c,k)<<endl;
return 0;
}
int panduan(int x)
{
if(x%2==0)
return 2;
else
return 1;
}
int jie(int p[],int y)
{
int i,res=1;
for(i=0;i<y;i++)
res=res*p[i];
return res;
}
二、运行结果
三、心得体会
清楚主函数中的变量和其他函数中的变量作用范围十分重要;其次对于数组的调用还需要加强。总体需要不断的改才写完这个程序,错误的地方并不少,希望自己以后可以再扎实一些。
四、知识点归纳
传递数组直接写数组名就可以了