C语言练习四 正整数求阶乘
内容纲要

输入一个正整数,输出它的阶乘

思考:

一、其实这个也就是从1开始遍历到这个数,再赋值一个 =
(这种程序其实也没找到有优化的点,不过需要注意的是b初始化的时候记得赋值1)
二、这里将其延申一下,
如果是输入整数n,求1!+2!+3!+4!+5!+6!+7!+…+n! 的和。
是不是阶乘可以使用递归的方法来求呢?
这里是可以使用递归来求,注意的点在于循环里面 i别从0开始了,i==0的话,递归就又找不到出口了。

程序:

程序一

#include <stdio.h>
int main(void) {
    int i = 0, a = 0, b = 1;
    scanf("%d", &a);
    if (a == 0) {
        printf("阶乘值为:0");
        return 0;
    }
    for (i = 1; i <= a; i++) {
        b *= i;
    }
    printf("阶乘值为:%d", b);
}

程序二

#include <stdio.h>

int jiecheng(int n ) {
    if (n == 1)
        return 1;
    return n * jiecheng(n - 1);
}

int main(void) {
    int i, a = 0, sum = 0;
    scanf("%d", &a);
    for (i = 1; i <= a; i++) {
        sum += jiecheng(i);
    }
    printf("阶乘和为:%d", sum);
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇