首页 > 其他分享 >C语言 【阶乘】

C语言 【阶乘】

时间:2023-06-24 12:11:24浏览次数:43  
标签:return int C语言 factorial num printf 阶乘

#include <stdio.h>
int main(){
    int n;
    int sum = 1;
    printf("输入数字:");
    scanf("%d", &n);
    for (int i = 1;i <= n ;i++ ) {
        sum *= i;
    }
    printf("%d的阶乘为%d\n", n, sum);

    return 0;
}

优化

#include <stdio.h>

int main() {
    int num;
    int factorial = 1;
    
    printf("输入数字:");
    scanf("%d", &num);
    
    if (num <= 0) {
        printf("无效输入!请输入一个正整数。\n");
        return 1;
    }
    
    for (int i = 1; i <= num; i++) {
        factorial *= i;
    }
    
    printf("%d的阶乘为%d\n", num, factorial);
    
    return 0;
}

递归

#include <stdio.h>

int factorial(int n) {
    if (n == 0 || n == 1) {
        return 1;
    }
    return n * factorial(n - 1);
}

int main() {
    int num;
    
    printf("输入数字:");
    scanf("%d", &num);
    
    if (num < 0) {
        printf("无效输入!请输入一个非负整数。\n");
        return 1;
    }
    
    int result = factorial(num);
    printf("%d的阶乘为%d\n", num, result);
    
    return 0;
}

标签:return,int,C语言,factorial,num,printf,阶乘
From: https://www.cnblogs.com/code3/p/17500902.html

相关文章

  • C语言I/O操作
    (只写了文件调用的,C库自己看吧)1、系统调用定义:指操作系统提供给用户程序的调用的一组“特殊接口”,用户程序可以通过这组特殊接口来获得操作系统内核提供的服务2、Linux文件描述符当某个程序打开程序时,操作系统会返回相应的文件描述符,(相当于文件的别名,打开之后就只用......
  • C语言【三数中找最大值】
    原#include<stdio.h>intmain(){inta,b,c;printf("输入三个数:");scanf("%d%d%d",&a,&b,&c);if(a>b&&a>c){printf("最大值为:%d\n",a);}elseif(a>b......
  • 自学C语言2023_6_23
    字符串:字符串——一串字符,用双引号括起的一串字符(字符串的结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容)  字符数组:字符数组——数组是一组相同类型的元素  求字符串长度:利用strlen函数求字符串长度: 转以字符:转义字符—......
  • 基于C语言的泛类型循环队列
    循环队列多用于通信数据缓存中,尤其是在双方设备接收数据与处理数据不同步的情况下,使用循环队列先缓存通信数据,然后按照时间戳数据出队作出相应的处理,是一种比较合适的做法,在嵌入式编程中亦是如此。使用循环队列的数据结构可以实现上述功能,在一些低端的编程平台手写一个循环队列既......
  • 学生信息管理系统-C语言版
    环境操作系统:Windows11编译器:GCC源代码函数较多,自定义头文件,主文件引入即可头文件:functions.h头文件所对应的源文件:functions.c主文件:学生信息管理系统.cfunctions.h#ifndef_FUNCTINOS_H_#define_FUNCTINOS_H_#defineMAX_STU100typedefstructStudents{ cha......
  • C语言三子棋项目(顺序逻辑-小白学习笔记)
    首先要确定游戏的基本框架简易来说,由进入游戏--->选择菜单--->进入游戏三部分组成应用在c语言项目中,我们通过功能来对文件进行区分,主函数main()内进入游戏,通过test函数加入我们的菜单,但这里meau()菜单选项我们不希望执行一次,因为如果玩家选择错误,将会导致程序无法进行。这里通过dowh......
  • C语言 大小端转换(16位)c51,ARM
    //C++#include<arpa/inet.h>uint32_thtonl(uint32_tbuffer);//32位uint16_thtons(uint16_tbuffer);//16位Linux上,无符号c++版 #define__SWP16(A)((((uint16)(A)&0xff00)>>8)|\(((uint16)(A)&0x00ff)......
  • 01-C语言基础语法
    目录一.C语言发展史二.数据类型三.常量和变量四.字符串和转义字符五.选择语句六.循环语句七.函数一.C语言发展史1963年ALGOL60作为C语言最早的模型,剑桥大学将其发展成为CPL(CombinedProgramingLanguage)。1967年,剑桥大学的MatinRichards对CPL语言进行了简......
  • 图的遍历——DFS, BFS(邻接矩阵,邻接表)——C语言描述
    图的遍历——DFS,BFS(邻接矩阵,邻接表)——C语言描述目录图的遍历——DFS,BFS(邻接矩阵,邻接表)——C语言描述0测试用例框架1图的深度优先遍历(DFS)1.1邻接矩阵(1)数据结构(2)代码(3)测试用例(4)打印结果1.2邻接表(1)数据结构(2)代码(3)测试用例(4)结果2图的广度度优先遍历(BFS)2.1队列(1)数据结构......
  • C语言中数组和指针
    (文章目录)前言本文将给大家带来C语言中非常重要的两个知识点,指针和数组。一、指针的概念指针,是C语言中的一个重要概念及其特点,也是掌握C语言比较困难的部分。指针也就是内存地址,指针变量是用来存放内存地址的变量,指针既然都用来存放地址了那就说明指针也是一个变量。二、指......