永发信息网

求10行杨辉三角编写二个函数,一个求阶乘,一个输出

答案:2  悬赏:50  手机版
解决时间 2021-03-17 21:42
求10行杨辉三角编写二个函数,一个求阶乘,一个输出
最佳答案
假如N = 10;

#include
#define N 10
//阶乘
int fact(n)
{
    if(n==0 || n == 1)
    {
        return 1;
    }
    else
    {
        return n*fact(n-1);
    }
 } 
 int main()
 {
     int sum = 0;
     for(int i=1;i<=N;i++)
     {
         sum += fact(i);
     }
     printf("sum = %d",sum);
 }
全部回答
你的代码有一个致命错误,导致不能通过编译:c/c++规定数组下标不能使用变量只能使用常量,而你的int a[n][n]={0}却试图用函数qf()带进来的变量n来定义数组a的下标。把它改为常数就可以了。另,调用qf时错写为qf(b)了,应该是qf(a)。其余正确。下面是我改过的,并在主函数中加了些提示,但这无关紧要。供参考 #include &quot;stdio.h&quot; void qf(int n){ int i,j,a[11][11]={0}; for(i=1;i&lt;n;i++){ a[i][1]=1; a[i][i]=1; } for(i=3;i&lt;n;i++) for(j=2;j&lt;i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i&lt;n;i++){ for(j=1;j&lt;=i;j++) printf(&quot;%6d&quot;,a[i][j]); printf(&quot;\n&quot;); } } void main(){ int a; printf(&quot;要打出几层?\nn=&quot;); for(;;){ scanf(&quot;%d&quot;,&amp;a); if(a&gt;9) printf(&quot;太大了,请输入&lt;10的数:&quot;); else break; } qf(a+1);//这里写+1是为了输出层数与输入数对应。 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
处女座傲不傲娇呢?
魅族4pro虚拟按键怎么取消。谢谢
桌面上按如图所示放着1个长方体和1个圆柱体,
谁能告诉我电气工程自动化专业出来能做什么工
乌拉特农村商业银行嘉禾建材城分理处怎么去啊
石家庄太和电子城有卖手机的吗?在几楼?价格
有什么不出名的运动员
优优乐幼儿园这个地址在什么地方,我要处理点
淘宝网的steam游戏可以买吗
2014年9月20日18点25分出生的男孩五行缺什么
在英国怎么买手机的,要通过什么程序
中国邮政(鸿雁邮政所)在什么地方啊,我要过去
309b是什么意思
小方便利店地址有知道的么?有点事想过去
今天晚上8点到现在会泽到昆明有没有堵车
推荐资讯
十一二岁孩子不听话需要打她吗
工伤死亡认定一定需要提供火化证明吗
有谁知道斐杭迪学院
生蚝放冷藏一天可以不
杏仁叶怎么做的做法
为什么单身的时候想找个女朋友 为什么有女朋
限时抢购如何才能更快地抢到东西谢谢了,大神
重庆农家石锅鱼在什么地方啊,我要过去处理事
马桶如何节约水
幽默的交通警示语
七代雅阁2.0起步或停下来抖动怎么回事
想要得到从未得到的东西,就要做从未做过的事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?